Architecture specific change in rpms/rust-bodhi-cli.git
by githook-noreply@fedoraproject.org
The package rpms/rust-bodhi-cli.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/rust-bodhi-cli.git/commit/?id=e61....
Change:
+ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit e6131a9dd5a3e59825251d01d10759d1a6ec4083
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Mon Mar 23 13:21:11 2020 +0100
initial import (#1815788)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..29cb6f0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+/results_*
+/*.src.rpm
+
+/bodhi-cli-0.3.1.crate
diff --git a/README.md b/README.md
deleted file mode 100644
index 75b78ed..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# rust-bodhi-cli
-
-The rust-bodhi-cli package
\ No newline at end of file
diff --git a/rust-bodhi-cli.spec b/rust-bodhi-cli.spec
new file mode 100644
index 0000000..60d2352
--- /dev/null
+++ b/rust-bodhi-cli.spec
@@ -0,0 +1,117 @@
+# Generated by rust2rpm 13
+%bcond_without check
+
+%global crate bodhi-cli
+
+Name: rust-%{crate}
+Version: 0.3.1
+Release: 2%{?dist}
+Summary: Bodhi CLI client based on bodhi-rs
+
+# Upstream license specification: MIT OR Apache-2.0
+License: MIT or ASL 2.0
+URL: https://crates.io/crates/bodhi-cli
+Source: %{crates_source}
+
+ExclusiveArch: %{rust_arches}
+%if %{__cargo_skip_build}
+BuildArch: noarch
+%endif
+
+BuildRequires: rust-packaging
+
+%global _description %{expand:
+Bodhi CLI client based on bodhi-rs.}
+
+%description %{_description}
+
+%if ! %{__cargo_skip_build}
+%package -n %{crate}
+Summary: %{summary}
+
+# Licenses of dependencies:
+# $ rpm -qa --qf '%%{LICENSE}\n' 'rust-*-devel' | sort -u
+# - (MIT or ASL 2.0) and BSD
+# - ASL 2.0
+# - ASL 2.0 or Boost
+# - ASL 2.0 or MIT
+# - BSD
+# - MIT
+# - MIT or ASL 2.0
+# - Unlicense or MIT
+License: ASL 2.0 and BSD and MIT
+
+%description -n %{crate} %{_description}
+
+%files -n %{crate}
+%license LICENSE-APACHE LICENSE-MIT
+%doc README.md
+%{_bindir}/bodhi-cli
+%endif
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages
+which use "%{crate}" crate.
+
+%files devel
+%license LICENSE-APACHE LICENSE-MIT
+%doc README.md
+%{cargo_registry}/%{crate}-%{version_no_tilde}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "default" feature of "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+* Fri Mar 20 2020 Fabio Valentini <decathorpe(a)gmail.com> - 0.3.1-2
+- Rebuild for bodhi-rs 0.5.8.
+
+* Sun Mar 08 2020 Fabio Valentini <decathorpe(a)gmail.com> - 0.3.1-1
+- Update to version 0.3.1.
+
+* Sun Mar 08 2020 Fabio Valentini <decathorpe(a)gmail.com> - 0.3.0-1
+- Update to version 0.3.0.
+
+* Thu Mar 05 2020 Fabio Valentini <decathorpe(a)gmail.com> - 0.2.5-2
+- Rebuild for bodhi-rs 0.5.7.
+
+* Mon Feb 24 2020 Fabio Valentini <decathorpe(a)gmail.com> - 0.2.5-1
+- Update to version 0.2.5.
+
+* Wed Feb 19 2020 Fabio Valentini <decathorpe(a)gmail.com> - 0.2.4-1
+- Update to version 0.2.4.
+
+* Mon Feb 10 2020 Fabio Valentini <decathorpe(a)gmail.com> - 0.2.3-1
+- Initial package
+
diff --git a/sources b/sources
new file mode 100644
index 0000000..b3eb5b9
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (bodhi-cli-0.3.1.crate) = acffa6dc0e02a1388dc405c47b51c3f01477227edaaf522a2c1ff0d235e85825d954104f44cd796996e4861892274342c471a7bc01795533155d34a4f05ac68e
4 years, 2 months
Architecture specific change in rpms/varnish-modules.git
by githook-noreply@fedoraproject.org
The package rpms/varnish-modules.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/varnish-modules.git/commit/?id=4f....
Change:
+%ifarch %ix86 %arm ppc
Thanks.
Full change:
============
commit 4f0634a3171ce78ab0d9fc56cc365638f67c356a
Author: Ingvar Hagelund <ingvar(a)redpill-linpro.com>
Date: Mon Mar 23 12:41:01 2020 +0100
%arm is also 32-bit
diff --git a/varnish-modules.spec b/varnish-modules.spec
index 83df087..141719b 100644
--- a/varnish-modules.spec
+++ b/varnish-modules.spec
@@ -66,7 +66,7 @@ find %{buildroot}/%{_libdir}/ -name '*.la' -exec rm -f {} ';'
rm %{buildroot}%{_pkgdocdir}/LICENSE # Rather use license macro
%check
-%ifarch %ix86 ppc
+%ifarch %ix86 %arm ppc
# 64-bit specific test
sed -i 's,tests/xkey/test12.vtc,,' src/Makefile
%endif
4 years, 2 months
Architecture specific change in rpms/rust-assert_fs.git
by githook-noreply@fedoraproject.org
The package rpms/rust-assert_fs.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/rust-assert_fs.git/commit/?id=9ce....
Change:
+ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 9ce82d0a06d9a4dbab387bd8152574c78450190d
Author: Artem Polishchuk <ego.cordatus(a)gmail.com>
Date: Mon Mar 23 13:32:06 2020 +0200
Initial package
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1046c7f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/assert_fs-0.13.1.crate
diff --git a/rust-assert_fs.spec b/rust-assert_fs.spec
new file mode 100644
index 0000000..e58bac0
--- /dev/null
+++ b/rust-assert_fs.spec
@@ -0,0 +1,75 @@
+# Generated by rust2rpm 13
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate assert_fs
+
+Name: rust-%{crate}
+Version: 0.13.1
+Release: 1%{?dist}
+Summary: Filesystem fixtures and assertions for testing
+
+# Upstream license specification: MIT OR Apache-2.0
+License: MIT or ASL 2.0
+URL: https://crates.io/crates/assert_fs
+Source: %{crates_source}
+
+ExclusiveArch: %{rust_arches}
+%if %{__cargo_skip_build}
+BuildArch: noarch
+%endif
+
+BuildRequires: rust-packaging
+
+%global _description %{expand:
+Filesystem fixtures and assertions for testing.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages
+which use "%{crate}" crate.
+
+%files devel
+%license LICENSE-APACHE LICENSE-MIT
+%doc README.md CHANGELOG.md CONTRIBUTING.md
+%{cargo_registry}/%{crate}-%{version_no_tilde}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "default" feature of "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+* Wed Mar 04 12:57:53 EET 2020 Artem Polishchuk <ego.cordatus(a)gmail.com> - 0.13.1-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..d255c15
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (assert_fs-0.13.1.crate) = eae0050ce1f093b184c6fcd0d03c8b465430b806996395e86754b0c815c4f809dff6cf100b91891a1b465c23ef93851c91b99c0c3f5415455ac62b1e8c3c72cd
4 years, 2 months
Architecture specific change in rpms/rust-predicates.git
by githook-noreply@fedoraproject.org
The package rpms/rust-predicates.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/rust-predicates.git/commit/?id=bb....
Change:
+ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit bb1bd4a96e3db776d0f65de58fde28316bddbd13
Author: Artem Polishchuk <ego.cordatus(a)gmail.com>
Date: Mon Mar 23 13:29:59 2020 +0200
Initial package
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2ab0678
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/predicates-1.0.3.crate
diff --git a/predicates-fix-metadata.diff b/predicates-fix-metadata.diff
new file mode 100644
index 0000000..045d739
--- /dev/null
+++ b/predicates-fix-metadata.diff
@@ -0,0 +1,11 @@
+--- predicates-1.0.3/Cargo.toml 2020-02-25T13:34:57+00:00
++++ predicates-1.0.3/Cargo.toml 2020-03-04T11:00:09.045183+00:00
+@@ -32,7 +32,7 @@
+ optional = true
+
+ [dependencies.normalize-line-endings]
+-version = "0.2.2"
++version = "0.3.0"
+ optional = true
+
+ [dependencies.predicates-core]
diff --git a/rust-predicates.spec b/rust-predicates.spec
new file mode 100644
index 0000000..8ffda3b
--- /dev/null
+++ b/rust-predicates.spec
@@ -0,0 +1,140 @@
+# Generated by rust2rpm 13
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate predicates
+
+Name: rust-%{crate}
+Version: 1.0.3
+Release: 1%{?dist}
+Summary: Implementation of boolean-valued predicate functions
+
+# Upstream license specification: MIT/Apache-2.0
+License: MIT or ASL 2.0
+URL: https://crates.io/crates/predicates
+Source: %{crates_source}
+# Initial patched metadata
+# * https://github.com/assert-rs/predicates-rs/pull/87
+# * Bump deps
+# - normalize-line-endings to 0.3.0
+Patch0: predicates-fix-metadata.diff
+
+ExclusiveArch: %{rust_arches}
+%if %{__cargo_skip_build}
+BuildArch: noarch
+%endif
+
+BuildRequires: rust-packaging
+
+%global _description %{expand:
+Implementation of boolean-valued predicate functions.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages
+which use "%{crate}" crate.
+
+%files devel
+%license LICENSE-APACHE LICENSE-MIT
+%doc README.md CHANGELOG.md CONTRIBUTING.md
+%{cargo_registry}/%{crate}-%{version_no_tilde}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "default" feature of "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%package -n %{name}+difference-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+difference-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "difference" feature of "%{crate}" crate.
+
+%files -n %{name}+difference-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%package -n %{name}+float-cmp-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+float-cmp-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "float-cmp" feature of "%{crate}" crate.
+
+%files -n %{name}+float-cmp-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%package -n %{name}+normalize-line-endings-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+normalize-line-endings-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "normalize-line-endings" feature of "%{crate}" crate.
+
+%files -n %{name}+normalize-line-endings-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%package -n %{name}+regex-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+regex-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "regex" feature of "%{crate}" crate.
+
+%files -n %{name}+regex-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%package -n %{name}+unstable-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+unstable-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "unstable" feature of "%{crate}" crate.
+
+%files -n %{name}+unstable-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+* Wed Mar 04 13:00:16 EET 2020 Artem Polishchuk <ego.cordatus(a)gmail.com> - 1.0.3-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..2dd758e
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (predicates-1.0.3.crate) = 3378c9f0be0c4f8d6620cd6534f331710d1e953728d87d2eda5e8b68b1e2a509407d30b4bdc6f9afa3845234a6ae1d97a4a9b0750a2a13829b93a712ada2a290
4 years, 2 months
Architecture specific change in rpms/root.git
by githook-noreply@fedoraproject.org
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=fba71390e25b3....
Change:
-%ifarch ppc64le
Thanks.
Full change:
============
commit fba71390e25b305d35bd7bb28a909f03ece6da25
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Mon Mar 23 10:03:24 2020 +0100
Update to 6.20.02
Drop patches accepted upstream
root-dont-download-input-file-if-it-already-exists.patch
root-fix-plugin-definition.patch
root-man-install.patch
root-pretty-printers.patch
root-python3.patch
root-stress-aarch64-ppc64le.patch
Drop patches no longer relevant due to changes to the code
root-missing-include-string.patch
root-static-constexpr.patch
Add workaround for PyROOT issues on ppc64le in EPEL 7
root-epel7-ppc64le-pyroot.patch (patch conditionally applied)
Fix path to moved data file in tutorial
root-moved-file.patch
Split the root-roofit subpackage into four different packages
root-roofit, root-roofit-core, root-roofit-more and root-roostats
The root-roofit-more library splits out the part of roofit that depends on
the root-mathmore package
New subpackage: root-histv7
diff --git a/root-32bit-dataframe.patch b/root-32bit-dataframe.patch
index dd71ad6..e47b913 100644
--- a/root-32bit-dataframe.patch
+++ b/root-32bit-dataframe.patch
@@ -1,7 +1,7 @@
-diff -ur root-6.18.04.orig/bindings/pyroot/ROOT.py root-6.18.04/bindings/pyroot/ROOT.py
---- root-6.18.04.orig/bindings/pyroot/ROOT.py 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/ROOT.py 2020-03-13 19:58:32.330575246 +0100
-@@ -449,9 +449,7 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/ROOT.py root-6.20.02/bindings/pyroot/ROOT.py
+--- root-6.20.02.orig/bindings/pyroot/ROOT.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/ROOT.py 2020-03-15 19:50:25.303179253 +0100
+@@ -438,9 +438,7 @@
# This function is injected as method to the respective classes in Pythonize.cxx.
_root._RDataFrameAsNumpy = _RDataFrameAsNumpy
@@ -12,26 +12,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/ROOT.py root-6.18.04/bindings/pyroot/
### RINT command emulation ------------------------------------------------------
-diff -ur root-6.18.04.orig/bindings/pyroot/test/CMakeLists.txt root-6.18.04/bindings/pyroot/test/CMakeLists.txt
---- root-6.18.04.orig/bindings/pyroot/test/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/test/CMakeLists.txt 2020-03-13 19:58:32.330575246 +0100
-@@ -4,10 +4,7 @@
- ROOT_ADD_PYUNITTEST(pyroot_rvec rvec.py)
- if(NUMPY_FOUND)
- ROOT_ADD_PYUNITTEST(pyroot_array_interface array_interface.py)
-- # this excludes RDF for 32 bits builds because of clang/gcc abi issues
-- if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
-- ROOT_ADD_PYUNITTEST(pyroot_rdataframe_asnumpy rdataframe_asnumpy.py)
-- ROOT_ADD_PYUNITTEST(pyroot_ttree_asmatrix ttree_asmatrix.py)
-- endif()
-+ ROOT_ADD_PYUNITTEST(pyroot_rdataframe_asnumpy rdataframe_asnumpy.py)
-+ ROOT_ADD_PYUNITTEST(pyroot_ttree_asmatrix ttree_asmatrix.py)
- endif()
-
-diff -ur root-6.18.04.orig/build/unix/makepchinput.py root-6.18.04/build/unix/makepchinput.py
---- root-6.18.04.orig/build/unix/makepchinput.py 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/build/unix/makepchinput.py 2020-03-13 19:58:32.331575236 +0100
-@@ -263,9 +263,6 @@
+diff -ur root-6.20.02.orig/build/unix/makepchinput.py root-6.20.02/build/unix/makepchinput.py
+--- root-6.20.02.orig/build/unix/makepchinput.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/build/unix/makepchinput.py 2020-03-15 19:50:25.304179242 +0100
+@@ -252,9 +252,6 @@
"math/vdt",
"tmva/rmva"]
@@ -41,39 +25,9 @@ diff -ur root-6.18.04.orig/build/unix/makepchinput.py root-6.18.04/build/unix/ma
accepted = isAnyPatternInString(PCHPatternsWhitelist,dirName) and \
not isAnyPatternInString(PCHPatternsBlacklist,dirName)
-diff -ur root-6.18.04.orig/config/root-config.in root-6.18.04/config/root-config.in
---- root-6.18.04.orig/config/root-config.in 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/config/root-config.in 2020-03-13 20:06:39.876361426 +0100
-@@ -76,10 +76,7 @@
- -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread\
- -lMultiProc"
-
--if [ "@UNIX@" != "1" ] || [ "@CMAKE_SIZEOF_VOID_P@" != "4" ]; then
-- rootlibs="$rootlibs -lROOTDataFrame"
--fi
--
-+rootlibs="$rootlibs -lROOTDataFrame"
-
- if test "$platform" = "win32"; then
- rootulibs="-include:_G__cpp_setupG__Net \
-diff -ur root-6.18.04.orig/tree/dataframe/CMakeLists.txt root-6.18.04/tree/dataframe/CMakeLists.txt
---- root-6.18.04.orig/tree/dataframe/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/CMakeLists.txt 2020-03-13 19:58:32.332575225 +0100
-@@ -3,11 +3,6 @@
- # @author Danilo Piparo CERN, Pere Mato CERN
- ############################################################################
-
--# Disable RDataFrame on 32-bit UNIX platforms due to ROOT-9236
--if(UNIX AND CMAKE_SIZEOF_VOID_P EQUAL 4)
-- return()
--endif()
--
- if(arrow)
- list(APPEND RDATAFRAME_EXTRA_HEADERS ROOT/RArrowDS.hxx)
- list(APPEND RDATAFRAME_EXTRA_INCLUDES -I${ARROW_INCLUDE_DIR})
-diff -ur root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx root-6.18.04/tree/dataframe/test/dataframe_cache.cxx
---- root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/dataframe_cache.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/dataframe_cache.cxx root-6.20.02/tree/dataframe/test/dataframe_cache.cxx
+--- root-6.20.02.orig/tree/dataframe/test/dataframe_cache.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/dataframe_cache.cxx 2020-03-15 19:50:09.075351525 +0100
@@ -224,8 +224,6 @@
}
@@ -89,9 +43,9 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx root-6.18.04/
}
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx root-6.18.04/tree/dataframe/test/datasource_arrow.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_arrow.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_arrow.cxx root-6.20.02/tree/dataframe/test/datasource_arrow.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_arrow.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_arrow.cxx 2020-03-15 19:50:09.075351525 +0100
@@ -163,8 +163,6 @@
}
#endif
@@ -107,10 +61,10 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx root-6.18.04
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx root-6.18.04/tree/dataframe/test/datasource_csv.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_csv.cxx 2020-03-13 20:26:14.841831219 +0100
-@@ -193,8 +193,6 @@
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_csv.cxx root-6.20.02/tree/dataframe/test/datasource_csv.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_csv.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_csv.cxx 2020-03-15 19:57:05.490930922 +0100
+@@ -195,8 +195,6 @@
}
#endif
@@ -119,15 +73,15 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx root-6.18.04/t
TEST(RCsvDS, FromARDF)
{
std::unique_ptr<RDataSource> tds(new RCsvDS(fileName0));
-@@ -290,5 +288,3 @@
+@@ -292,5 +290,3 @@
}
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx root-6.18.04/tree/dataframe/test/datasource_root.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_root.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_root.cxx root-6.20.02/tree/dataframe/test/datasource_root.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_root.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_root.cxx 2020-03-15 19:50:09.076351514 +0100
@@ -117,8 +117,6 @@
}
#endif
@@ -143,9 +97,9 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx root-6.18.04/
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx root-6.18.04/tree/dataframe/test/datasource_trivial.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_trivial.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_trivial.cxx root-6.20.02/tree/dataframe/test/datasource_trivial.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_trivial.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_trivial.cxx 2020-03-15 19:50:09.076351514 +0100
@@ -132,8 +132,6 @@
EXPECT_EQ(*tdfAll.Count(), 20ULL);
}
@@ -161,11 +115,11 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx root-6.18.
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tutorials/CMakeLists.txt root-6.18.04/tutorials/CMakeLists.txt
---- root-6.18.04.orig/tutorials/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tutorials/CMakeLists.txt 2020-03-13 19:58:32.333575214 +0100
-@@ -212,10 +212,6 @@
- v7/ntuple/ntpl004_dimuon.C)
+diff -ur root-6.20.02.orig/tutorials/CMakeLists.txt root-6.20.02/tutorials/CMakeLists.txt
+--- root-6.20.02.orig/tutorials/CMakeLists.txt 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tutorials/CMakeLists.txt 2020-03-15 19:59:35.808335176 +0100
+@@ -255,10 +255,6 @@
+ set(root7_veto v7/ntuple/ntpl004_dimuon.C)
endif()
-if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
@@ -174,26 +128,20 @@ diff -ur root-6.18.04.orig/tutorials/CMakeLists.txt root-6.18.04/tutorials/CMake
-
#---These ones are disabled !!! ------------------------------------
set(extra_veto
- htmlex.C
-@@ -266,7 +262,6 @@
+ legacy/benchmarks.C
+@@ -311,7 +307,6 @@
${classic_veto}
${pythia_veto}
${root7_veto}
- ${bits32_veto}
${xrootd_veto}
- )
-
-@@ -424,13 +419,6 @@
-
+ ${mlp_veto}
+ ${spectrum_veto}
+@@ -513,7 +508,6 @@
list(REMOVE_ITEM pytutorials ${pyveto})
-- if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
-- set(bits32_veto_py dataframe/*.py)
-- file(GLOB bits32_veto_py RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} dataframe/*.py)
-- list(REMOVE_ITEM pytutorials ${bits32_veto_py})
-- list(REMOVE_ITEM pytutorials pyroot/pyroot002_TTreeAsMatrix.py)
-- endif()
--
- #---Python tutorials dependencies--------------------------------------
- set(pyroot-ntuple1-depends tutorial-pyroot-hsimple-py)
- set(pyroot-h1draw-depends tutorial-pyroot-hsimple-py)
+ if(NOT dataframe)
+- set(dataframe_veto_py dataframe/*.py)
+ file(GLOB dataframe_veto_py RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} dataframe/*.py tmva/tmva*.py)
+ list(REMOVE_ITEM pytutorials ${dataframe_veto_py})
+ list(REMOVE_ITEM pytutorials pyroot/pyroot002_TTreeAsMatrix.py)
diff --git a/root-doc-no-notebooks.patch b/root-doc-no-notebooks.patch
index 23ca293..f94d31f 100644
--- a/root-doc-no-notebooks.patch
+++ b/root-doc-no-notebooks.patch
@@ -1,6 +1,7 @@
---- root-6.16.00.orig/documentation/doxygen/filter.cxx 2019-02-14 14:44:47.132678348 +0100
-+++ root-6.16.00/documentation/doxygen/filter.cxx 2019-02-14 14:45:00.596532589 +0100
-@@ -367,16 +367,7 @@
+diff -ur root-6.20.02.orig/documentation/doxygen/filter.cxx root-6.20.02/documentation/doxygen/filter.cxx
+--- root-6.20.02.orig/documentation/doxygen/filter.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/documentation/doxygen/filter.cxx 2020-03-15 20:05:59.047270429 +0100
+@@ -378,16 +378,7 @@
// notebook found
if (gLineString.find("\\notebook") != string::npos) {
@@ -13,7 +14,7 @@
- else{
- gLineString = "/// ";
- }
-- gLineString += StringFormat( "\\htmlonly <a href=\"http://nbviewer.jupyter.org/url/root.cern.ch/doc/master/notebooks/%s.nbco..." target=\"_blank\"><img src= notebook.gif alt=\"View in nbviewer\" style=\"height:1em\" ></a> <a href=\"https://cern.ch/swanserver/cgi-bin/go?projurl=https://root.cern.ch/doc/ma..." target=\"_blank\"><img src=\"http://swanserver.web.cern.ch/swanserver/images/badge_swan_white_150.png\" alt=\"Open in SWAN\" style=\"height:1em\" ></a> \\endhtmlonly \n", gMacroName.c_str() , gMacroName.c_str());
+- gLineString += StringFormat( "\\htmlonly <a href=\"https://nbviewer.jupyter.org/url/root.cern/doc/master/notebooks/%s.nbconv..." target=\"_blank\"><img src= notebook.gif alt=\"View in nbviewer\" style=\"height:1em\" ></a> <a href=\"https://cern.ch/swanserver/cgi-bin/go?projurl=https://root.cern/doc/maste..." target=\"_blank\"><img src=\"https://swanserver.web.cern.ch/swanserver/images/badge_swan_white_150.png\" alt=\"Open in SWAN\" style=\"height:1em\" ></a> \\endhtmlonly \n", gMacroName.c_str() , gMacroName.c_str());
+ gLineString = "";
}
diff --git a/root-dont-download-input-file-if-it-already-exists.patch b/root-dont-download-input-file-if-it-already-exists.patch
deleted file mode 100644
index 78557b2..0000000
--- a/root-dont-download-input-file-if-it-already-exists.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 3207d634576d48462b41b4aec0e9198293aa4a9f Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Fri, 28 Jun 2019 09:23:19 +0200
-Subject: [PATCH] Don't download input file if it already exists This allows
- running the tests with pre-fetched file in environments without network -
- like e.g. the Fedora package build server
-
----
- tutorials/dataframe/df014_CSVDataSource.C | 3 ++-
- tutorials/dataframe/df014_CSVDataSource.py | 4 +++-
- tutorials/dataframe/df015_LazyDataSource.C | 3 ++-
- 3 files changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/tutorials/dataframe/df014_CSVDataSource.C b/tutorials/dataframe/df014_CSVDataSource.C
-index 18a6a5afaf..9f1b69688a 100644
---- a/tutorials/dataframe/df014_CSVDataSource.C
-+++ b/tutorials/dataframe/df014_CSVDataSource.C
-@@ -23,7 +23,8 @@ int df014_CSVDataSource()
- // The types of the columns will be automatically inferred.
- auto fileNameUrl = "http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv";
- auto fileName = "df014_CsvDataSource_MuRun2010B_cpp.csv";
-- TFile::Cp(fileNameUrl, fileName);
-+ if(gSystem->AccessPathName(fileName))
-+ TFile::Cp(fileNameUrl, fileName);
- auto tdf = ROOT::RDF::MakeCsvDataFrame(fileName);
-
- // Now we will apply a first filter based on two columns of the CSV,
-diff --git a/tutorials/dataframe/df014_CSVDataSource.py b/tutorials/dataframe/df014_CSVDataSource.py
-index dd4823d62f..a8668f5e49 100644
---- a/tutorials/dataframe/df014_CSVDataSource.py
-+++ b/tutorials/dataframe/df014_CSVDataSource.py
-@@ -18,12 +18,14 @@
- ## \author Enric Tejedor
-
- import ROOT
-+import os
-
- # Let's first create a RDF that will read from the CSV file.
- # The types of the columns will be automatically inferred.
- fileNameUrl = "http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv"
- fileName = "df014_CsvDataSource_MuRun2010B_py.csv"
--ROOT.TFile.Cp(fileNameUrl, fileName)
-+if not os.path.isfile(fileName):
-+ ROOT.TFile.Cp(fileNameUrl, fileName)
-
- MakeCsvDataFrame = ROOT.ROOT.RDF.MakeCsvDataFrame
- tdf = MakeCsvDataFrame(fileName)
-diff --git a/tutorials/dataframe/df015_LazyDataSource.C b/tutorials/dataframe/df015_LazyDataSource.C
-index fc5567b5bd..f8623ddce4 100644
---- a/tutorials/dataframe/df015_LazyDataSource.C
-+++ b/tutorials/dataframe/df015_LazyDataSource.C
-@@ -25,7 +25,8 @@ int df015_LazyDataSource()
- // See the tutorial relative to CSV data sources for more details!
- auto fileNameUrl = "http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv";
- auto fileName = "df015_CsvDataSource_MuRun2010B.csv";
-- TFile::Cp(fileNameUrl, fileName);
-+ if(gSystem->AccessPathName(fileName))
-+ TFile::Cp(fileNameUrl, fileName);
-
- auto csv_rdf = MakeCsvDataFrame(fileName);
-
---
-2.21.0
-
diff --git a/root-epel7-ppc64le-pyroot.patch b/root-epel7-ppc64le-pyroot.patch
new file mode 100644
index 0000000..2d9c400
--- /dev/null
+++ b/root-epel7-ppc64le-pyroot.patch
@@ -0,0 +1,23 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/Cppyy.cxx root-6.20.02/bindings/pyroot/src/Cppyy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/Cppyy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/Cppyy.cxx 2020-03-21 14:10:09.322489811 +0100
+@@ -74,10 +74,6 @@
+ class ApplicationStarter {
+ public:
+ ApplicationStarter() {
+- // Insure ROOT's atexit is executed *after* the atexit that calls
+- // ApplicationStarter's destructor, by forcing the ROOT's atexit
+- // registration now.
+- TROOT::Initialize();
+ // setup dummy holders for global and std namespaces
+ assert( g_classrefs.size() == GLOBAL_HANDLE );
+ g_name2classrefidx[ "" ] = GLOBAL_HANDLE;
+@@ -90,8 +86,6 @@
+ }
+
+ ~ApplicationStarter() {
+- for ( auto ifunc : g_method2callfunc )
+- gInterpreter->CallFunc_Delete( ifunc.second );
+ }
+ } _applicationStarter;
+
diff --git a/root-fix-plugin-definition.patch b/root-fix-plugin-definition.patch
deleted file mode 100644
index 3f3d3d5..0000000
--- a/root-fix-plugin-definition.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 444b03b6e3ce0554f687443a42310fe01fba276c Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Thu, 27 Jun 2019 18:24:58 +0200
-Subject: [PATCH 2/2] Use the correct library name in the plugin definitions
-
----
- etc/plugins/TFile/P090_TSQLFile.C | 4 ++--
- etc/plugins/TFileStager/P010_TXNetFileStager.C | 2 +-
- etc/plugins/TGuiFactory/P030_TWebGuiFactory.C | 2 +-
- etc/plugins/TImagePlugin/P010_TASPluginGS.C | 6 +++---
- etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C | 2 +-
- etc/plugins/TVirtualX/P060_TWebVirtualX.C | 2 +-
- 6 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/etc/plugins/TFile/P090_TSQLFile.C b/etc/plugins/TFile/P090_TSQLFile.C
-index bc006053d4..a6441ffbef 100644
---- a/etc/plugins/TFile/P090_TSQLFile.C
-+++ b/etc/plugins/TFile/P090_TSQLFile.C
-@@ -1,7 +1,7 @@
- void P090_TSQLFile()
- {
- gPluginMgr->AddHandler("TFile", "^mysql:", "TSQLFile",
-- "SQL", "TSQLFile(const char*,Option_t*,const char*,const char*)");
-+ "SQLIO", "TSQLFile(const char*,Option_t*,const char*,const char*)");
- gPluginMgr->AddHandler("TFile", "^oracle:", "TSQLFile",
-- "SQL", "TSQLFile(const char*,Option_t*,const char*,const char*)");
-+ "SQLIO", "TSQLFile(const char*,Option_t*,const char*,const char*)");
- }
-diff --git a/etc/plugins/TFileStager/P010_TXNetFileStager.C b/etc/plugins/TFileStager/P010_TXNetFileStager.C
-index 884ce7e103..66cd8d575e 100644
---- a/etc/plugins/TFileStager/P010_TXNetFileStager.C
-+++ b/etc/plugins/TFileStager/P010_TXNetFileStager.C
-@@ -2,7 +2,7 @@ void P010_TXNetFileStager()
- {
- if (!gEnv->GetValue("XNet.UseOldClient", 0)) {
- gPluginMgr->AddHandler("TFileStager", "^[x]?root:", "TNetXNGFileStager",
-- "NetXNG", "TNetXNGFileStager(const char *)");
-+ "NetxNG", "TNetXNGFileStager(const char *)");
- } else {
- gPluginMgr->AddHandler("TFileStager", "^[x]?root:", "TXNetFileStager",
- "Netx", "TXNetFileStager(const char *)");
-diff --git a/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C b/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C
-index 873ba03ebd..fe83cf06e1 100644
---- a/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C
-+++ b/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C
-@@ -1,4 +1,4 @@
- void P030_TWebGuiFactory()
- {
-- gPluginMgr->AddHandler("TGuiFactory", "web", "TWebGuiFactory", "WebGui", "TWebGuiFactory()");
-+ gPluginMgr->AddHandler("TGuiFactory", "web", "TWebGuiFactory", "WebGui6", "TWebGuiFactory()");
- }
-diff --git a/etc/plugins/TImagePlugin/P010_TASPluginGS.C b/etc/plugins/TImagePlugin/P010_TASPluginGS.C
-index c2e3e45c1a..9e401e74f1 100644
---- a/etc/plugins/TImagePlugin/P010_TASPluginGS.C
-+++ b/etc/plugins/TImagePlugin/P010_TASPluginGS.C
-@@ -1,9 +1,9 @@
- void P010_TASPluginGS()
- {
- gPluginMgr->AddHandler("TImagePlugin", "ps", "TASPluginGS",
-- "ASPluginGS", "TASPluginGS(const char*)");
-+ "ASImage", "TASPluginGS(const char*)");
- gPluginMgr->AddHandler("TImagePlugin", "eps", "TASPluginGS",
-- "ASPluginGS", "TASPluginGS(const char*)");
-+ "ASImage", "TASPluginGS(const char*)");
- gPluginMgr->AddHandler("TImagePlugin", "pdf", "TASPluginGS",
-- "ASPluginGS", "TASPluginGS(const char*)");
-+ "ASImage", "TASPluginGS(const char*)");
- }
-diff --git a/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C b/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C
-index 2a919023f9..f1be760487 100644
---- a/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C
-+++ b/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C
-@@ -1,5 +1,5 @@
- void P010_TGraphPainter()
- {
- gPluginMgr->AddHandler("TVirtualGraphPainter", "*", "TGraphPainter",
-- "GraphPainter", "TGraphPainter()");
-+ "HistPainter", "TGraphPainter()");
- }
-diff --git a/etc/plugins/TVirtualX/P060_TWebVirtualX.C b/etc/plugins/TVirtualX/P060_TWebVirtualX.C
-index e624c34e7b..26f9650e94 100644
---- a/etc/plugins/TVirtualX/P060_TWebVirtualX.C
-+++ b/etc/plugins/TVirtualX/P060_TWebVirtualX.C
-@@ -1,4 +1,4 @@
- void P060_TWebVirtualX()
- {
-- gPluginMgr->AddHandler("TVirtualX", "web", "TWebVirtualX", "WebGui", "TWebVirtualX(const char*,const char*)");
-+ gPluginMgr->AddHandler("TVirtualX", "web", "TWebVirtualX", "WebGui6", "TWebVirtualX(const char*,const char*)");
- }
---
-2.21.0
-
diff --git a/root-jupyroot-static.patch b/root-jupyroot-static.patch
index bb8e721..2cdb5aa 100644
--- a/root-jupyroot-static.patch
+++ b/root-jupyroot-static.patch
@@ -1,6 +1,6 @@
-diff -ur root-6.18.00.orig/bindings/pyroot/JsMVA/JPyInterface.py root-6.18.00/bindings/pyroot/JsMVA/JPyInterface.py
---- root-6.18.00.orig/bindings/pyroot/JsMVA/JPyInterface.py 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/bindings/pyroot/JsMVA/JPyInterface.py 2019-06-28 22:54:03.937480738 +0200
+diff -ur root-6.20.02.orig/bindings/pyroot/JsMVA/JPyInterface.py root-6.20.02/bindings/pyroot/JsMVA/JPyInterface.py
+--- root-6.20.02.orig/bindings/pyroot/JsMVA/JPyInterface.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/JsMVA/JPyInterface.py 2020-03-15 20:07:18.921423559 +0100
@@ -188,7 +188,7 @@
## Class for creating the output scripts and inserting them to cell output
class JsDraw:
@@ -10,21 +10,21 @@ diff -ur root-6.18.00.orig/bindings/pyroot/JsMVA/JPyInterface.py root-6.18.00/bi
## String containing the link to JavaScript files
__jsMVASourceDir = __jsMVARepo + "/js"
-diff -ur root-6.18.00.orig/bindings/pyroot/JupyROOT/helpers/utils.py root-6.18.00/bindings/pyroot/JupyROOT/helpers/utils.py
---- root-6.18.00.orig/bindings/pyroot/JupyROOT/helpers/utils.py 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/bindings/pyroot/JupyROOT/helpers/utils.py 2019-06-28 22:54:03.938480727 +0200
-@@ -39,7 +39,7 @@
- _jsNotDrawableClassesPatterns = ["TEve*","TF3","TPolyLine3D"]
-
-
--_jsROOTSourceDir = "https://root.cern.ch/js/notebook/"
-+_jsROOTSourceDir = "/static/jsroot/"
- _jsCanvasWidth = 800
- _jsCanvasHeight = 600
-
-diff -ur root-6.18.00.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.18.00/etc/notebook/JsMVA/js/JsMVA.js
---- root-6.18.00.orig/etc/notebook/JsMVA/js/JsMVA.js 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/etc/notebook/JsMVA/js/JsMVA.js 2019-06-28 22:54:03.938480727 +0200
+diff -ur root-6.20.02.orig/bindings/pyroot/JupyROOT/helpers/utils.py root-6.20.02/bindings/pyroot/JupyROOT/helpers/utils.py
+--- root-6.20.02.orig/bindings/pyroot/JupyROOT/helpers/utils.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/JupyROOT/helpers/utils.py 2020-03-15 20:07:18.921423559 +0100
+@@ -82,7 +82,7 @@
+ function requirejs_success(base_url) {{
+ return function() {{
+ require.config({{
+- baseUrl: base_url + 'static/'
++ baseUrl: base_url + 'static/jsroot/'
+ }});
+ display_{jsDivId}();
+ }}
+diff -ur root-6.20.02.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.20.02/etc/notebook/JsMVA/js/JsMVA.js
+--- root-6.20.02.orig/etc/notebook/JsMVA/js/JsMVA.js 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/etc/notebook/JsMVA/js/JsMVA.js 2020-03-15 20:07:18.922423549 +0100
@@ -16,7 +16,7 @@
(function(factory){
@@ -34,14 +34,14 @@ diff -ur root-6.18.00.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.18.00/etc/noteb
var url = "";
if (requirejs.s.contexts.hasOwnProperty("_")) {
-diff -ur root-6.18.00.orig/etc/notebook/JsMVA/js/NetworkDesigner.js root-6.18.00/etc/notebook/JsMVA/js/NetworkDesigner.js
---- root-6.18.00.orig/etc/notebook/JsMVA/js/NetworkDesigner.js 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/etc/notebook/JsMVA/js/NetworkDesigner.js 2019-06-29 07:08:46.582682582 +0200
+diff -ur root-6.20.02.orig/etc/notebook/JsMVA/js/NetworkDesigner.js root-6.20.02/etc/notebook/JsMVA/js/NetworkDesigner.js
+--- root-6.20.02.orig/etc/notebook/JsMVA/js/NetworkDesigner.js 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/etc/notebook/JsMVA/js/NetworkDesigner.js 2020-03-15 20:07:18.922423549 +0100
@@ -19,7 +19,7 @@
paths: {
"jquery-connections": baseURL + "jquery.connections.min",
"jquery-timing": baseURL + "jquery-timing.min",
-- "d3": "https://root.cern.ch/js/notebook/scripts/d3.min"
+- "d3": "/static/scripts/d3.min"
+ "d3": "/static/jsroot/scripts/d3.min"
},
shim: {
diff --git a/root-man-install.patch b/root-man-install.patch
deleted file mode 100644
index b5d54e1..0000000
--- a/root-man-install.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 3f1e65654ddec561e5161d0f62367497d16aa223 Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Thu, 27 Jun 2019 18:22:13 +0200
-Subject: [PATCH 1/2] Install generated man pages in the correct subdirectory
- (man/man1)
-
----
- cmake/modules/RootNewMacros.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/modules/RootNewMacros.cmake b/cmake/modules/RootNewMacros.cmake
-index 0780ea5a5a..58e403a249 100644
---- a/cmake/modules/RootNewMacros.cmake
-+++ b/cmake/modules/RootNewMacros.cmake
-@@ -1540,5 +1540,5 @@ function(generateManual name input output)
- ${PYTHON_EXECUTABLE} -B ${CMAKE_SOURCE_DIR}/build/misc/argparse2help.py ${input} ${output}
- )
-
-- install(FILES ${output} DESTINATION ${CMAKE_INSTALL_MANDIR})
-+ install(FILES ${output} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
- endfunction()
---
-2.21.0
-
diff --git a/root-memory-arm-x86.patch b/root-memory-arm-x86.patch
index 54c4149..2de8e36 100644
--- a/root-memory-arm-x86.patch
+++ b/root-memory-arm-x86.patch
@@ -6,8 +6,8 @@
+# Reduce memory usage during linking on ARM and x86 by generating minimal debuginfo
+if(ROOT_ARCHITECTURE STREQUAL "linuxarm" OR ROOT_ARCHITECTURE STREQUAL "linux")
-+ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-+ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}")
++ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
++ string(REPLACE " -g " " -g1 " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+endif()
+
set(LLVM_TARGETS_TO_BUILD ${ROOT_CLING_TARGET} CACHE STRING "Semicolon-separated list of targets to build, or \"all\".")
diff --git a/root-missing-include-string.patch b/root-missing-include-string.patch
deleted file mode 100644
index f870e14..0000000
--- a/root-missing-include-string.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx
---- root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2020-01-23 11:27:58.637463837 +0100
-@@ -17,6 +17,7 @@
- #define ROOT7_RColor
-
- #include <array>
-+#include <string>
- #include <vector>
-
- namespace ROOT {
diff --git a/root-moved-file.patch b/root-moved-file.patch
new file mode 100644
index 0000000..948a78b
--- /dev/null
+++ b/root-moved-file.patch
@@ -0,0 +1,27 @@
+From 6492170d74f464286de22c40554adbd400ec838b Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Fri, 13 Mar 2020 12:53:34 +0100
+Subject: [PATCH] The file was moved - update path
+
+---
+ tutorials/legacy/mlp/mlpHiggs.C | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tutorials/legacy/mlp/mlpHiggs.C b/tutorials/legacy/mlp/mlpHiggs.C
+index 49d3ca2b30..0516ed7c50 100644
+--- a/tutorials/legacy/mlp/mlpHiggs.C
++++ b/tutorials/legacy/mlp/mlpHiggs.C
+@@ -18,8 +18,8 @@ void mlpHiggs(Int_t ntrain=100) {
+ TFile *input = 0;
+ if (!gSystem->AccessPathName(fname)) {
+ input = TFile::Open(fname);
+- } else if (!gSystem->AccessPathName(Form("%s/mlp/%s", TROOT::GetTutorialDir().Data(), fname))) {
+- input = TFile::Open(Form("%s/mlp/%s", TROOT::GetTutorialDir().Data(), fname));
++ } else if (!gSystem->AccessPathName(Form("%s/legacy/mlp/%s", TROOT::GetTutorialDir().Data(), fname))) {
++ input = TFile::Open(Form("%s/legacy/mlp/%s", TROOT::GetTutorialDir().Data(), fname));
+ } else {
+ printf("accessing %s file from http://root.cern.ch/files\n",fname);
+ input = TFile::Open(Form("http://root.cern.ch/files/%s",fname));
+--
+2.24.1
+
diff --git a/root-pretty-printers.patch b/root-pretty-printers.patch
deleted file mode 100644
index 4ded487..0000000
--- a/root-pretty-printers.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 88f6e1b332489582f457d17afd6a2a6f6a4f988d Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Mon, 1 Jul 2019 08:56:27 +0200
-Subject: [PATCH] Install GDB pretty printers with correct filename when using
- soversion
-
-The name of the pretty printer script must match the name of the
-binary, not a symlink. When soversion is used the unversioned .so file
-is a symlink to the versioned library file.
----
- build/CMakeLists.txt | 23 +++++++++++++++++------
- 1 file changed, 17 insertions(+), 6 deletions(-)
-
-diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt
-index b84481041b..03644b6c00 100644
---- a/build/CMakeLists.txt
-+++ b/build/CMakeLists.txt
-@@ -20,12 +20,23 @@ ROOT_EXECUTABLE(rmkdepend
- )
-
- IF(CMAKE_BUILD_TYPE MATCHES "Debug|RelWithDebInfo")
-- file(COPY "gdbPrinters/"
-- DESTINATION ${CMAKE_BINARY_DIR}/lib
-- FILES_MATCHING PATTERN "*-gdb.py")
-+ file(GLOB PRETTY_PRINTERS "gdbPrinters/*.so-gdb.py")
-+ set(PRETTY_PRINTER_DESTS)
-+ foreach(PRETTY_PRINTER ${PRETTY_PRINTERS})
-+ get_filename_component(PRETTY_PRINTER_DEST ${PRETTY_PRINTER} NAME)
-+ if(soversion)
-+ string(REPLACE ".so-gdb.py" ".so.${ROOT_VERSION}-gdb.py"
-+ PRETTY_PRINTER_DEST ${PRETTY_PRINTER_DEST})
-+ endif(soversion)
-+ set(PRETTY_PRINTER_DEST ${CMAKE_BINARY_DIR}/lib/${PRETTY_PRINTER_DEST})
-+ add_custom_command(OUTPUT ${PRETTY_PRINTER_DEST}
-+ COMMAND ${CMAKE_COMMAND} -E copy ${PRETTY_PRINTER} ${PRETTY_PRINTER_DEST}
-+ DEPENDS ${PRETTY_PRINTER})
-+ list(APPEND PRETTY_PRINTER_DESTS ${PRETTY_PRINTER_DEST})
-+ endforeach()
-+ add_custom_target(copy_pretty_printers ALL DEPENDS ${PRETTY_PRINTER_DESTS})
-
-- file(GLOB PRETTY_PRINTERS "gdbPrinters/*-gdb.py")
-- install(FILES ${PRETTY_PRINTERS}
-- DESTINATION lib
-+ install(FILES ${PRETTY_PRINTER_DESTS}
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
- CONFIGURATIONS Debug RelWithDebInfo)
- ENDIF()
---
-2.21.0
-
diff --git a/root-python3.8-object.patch b/root-python3.8-object.patch
index ed4ef9f..2447e31 100644
--- a/root-python3.8-object.patch
+++ b/root-python3.8-object.patch
@@ -1,7 +1,7 @@
-diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bindings/pyroot/src/MethodProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/MethodProxy.cxx 2020-03-13 16:46:56.538971601 +0100
-@@ -839,7 +839,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/MethodProxy.cxx root-6.20.02/bindings/pyroot/src/MethodProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/MethodProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/MethodProxy.cxx 2020-03-15 19:43:20.946684699 +0100
+@@ -845,7 +845,8 @@
sizeof(MethodProxy), // tp_basicsize
0, // tp_itemsize
(destructor)mp_dealloc, // tp_dealloc
@@ -11,7 +11,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bind
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -888,6 +889,12 @@
+@@ -894,6 +895,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -24,10 +24,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bind
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bindings/pyroot/src/ObjectProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/ObjectProxy.cxx 2020-03-13 16:46:56.539971591 +0100
-@@ -397,7 +397,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.20.02/bindings/pyroot/src/ObjectProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/ObjectProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/ObjectProxy.cxx 2020-03-15 19:43:20.946684699 +0100
+@@ -398,7 +398,8 @@
sizeof(ObjectProxy), // tp_basicsize
0, // tp_itemsize
(destructor)op_dealloc, // tp_dealloc
@@ -37,7 +37,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bind
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -449,6 +450,12 @@
+@@ -450,6 +451,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -50,9 +50,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bind
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.18.04/bindings/pyroot/src/PropertyProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/PropertyProxy.cxx 2020-03-13 16:46:56.539971591 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.20.02/bindings/pyroot/src/PropertyProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/PropertyProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/PropertyProxy.cxx 2020-03-15 19:43:20.946684699 +0100
@@ -133,7 +133,8 @@
sizeof(PropertyProxy), // tp_basicsize
0, // tp_itemsize
@@ -76,10 +76,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.18.04/bi
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindings/pyroot/src/PyRootType.cxx
---- root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/PyRootType.cxx 2020-03-13 16:46:56.539971591 +0100
-@@ -230,7 +230,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/PyRootType.cxx root-6.20.02/bindings/pyroot/src/PyRootType.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/PyRootType.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/PyRootType.cxx 2020-03-15 19:43:20.946684699 +0100
+@@ -232,7 +232,8 @@
sizeof(PyROOT::PyRootClass),// tp_basicsize
0, // tp_itemsize
0, // tp_dealloc
@@ -89,7 +89,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindi
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -279,6 +280,12 @@
+@@ -281,6 +282,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -102,9 +102,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindi
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx root-6.18.04/bindings/pyroot/src/Pythonize.cxx
---- root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/Pythonize.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/Pythonize.cxx root-6.20.02/bindings/pyroot/src/Pythonize.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/Pythonize.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/Pythonize.cxx 2020-03-15 19:43:20.947684688 +0100
@@ -944,6 +944,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
@@ -118,9 +118,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx root-6.18.04/bindin
};
static PyObject* vector_iter( PyObject* v ) {
-diff -ur root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx root-6.18.04/bindings/pyroot/src/RootModule.cxx
---- root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/RootModule.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/RootModule.cxx root-6.20.02/bindings/pyroot/src/RootModule.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/RootModule.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/RootModule.cxx 2020-03-15 19:43:20.948684678 +0100
@@ -134,6 +134,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
@@ -134,9 +134,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx root-6.18.04/bindi
};
PyObject _PyROOT_NullPtrStruct = {
-diff -ur root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.18.04/bindings/pyroot/src/TCustomPyTypes.cxx
---- root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.20.02/bindings/pyroot/src/TCustomPyTypes.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-15 19:43:20.948684678 +0100
@@ -19,7 +19,8 @@
0, // tp_basicsize
0, // tp_itemsize
@@ -206,10 +206,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.18.04/b
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bindings/pyroot/src/TemplateProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/TemplateProxy.cxx 2020-03-13 16:46:56.541971570 +0100
-@@ -395,7 +395,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.20.02/bindings/pyroot/src/TemplateProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/TemplateProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/TemplateProxy.cxx 2020-03-15 19:43:20.948684678 +0100
+@@ -492,7 +492,8 @@
sizeof(TemplateProxy), // tp_basicsize
0, // tp_itemsize
(destructor)tpp_dealloc, // tp_dealloc
@@ -219,7 +219,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bi
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -444,6 +445,12 @@
+@@ -541,6 +542,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -232,9 +232,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bi
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.18.04/bindings/pyroot/src/TTupleOfInstances.cxx
---- root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.20.02/bindings/pyroot/src/TTupleOfInstances.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-15 19:43:20.948684678 +0100
@@ -42,7 +42,8 @@
0, // tp_basicsize
0, // tp_itemsize
@@ -258,10 +258,25 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.18.0
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-13 16:47:15.029777701 +0100
-@@ -168,7 +168,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt 2020-03-15 19:43:20.949684667 +0100
+@@ -64,11 +64,6 @@
+ target_compile_options(cppyy PRIVATE -Wno-deprecated-register)
+ endif()
+
+-# Disables warnings due to new field tp_vectorcall in Python 3.8
+-if(NOT MSVC AND ${PYTHON_VERSION_STRING} VERSION_GREATER_EQUAL "3.8")
+- target_compile_options(cppyy PRIVATE -Wno-missing-field-initializers)
+-endif()
+-
+ target_include_directories(cppyy PRIVATE ${CMAKE_BINARY_DIR}/include) # needed for string_view backport
+
+ target_include_directories(cppyy PUBLIC ${PYTHON_INCLUDE_DIRS}
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-15 19:43:20.949684667 +0100
+@@ -167,7 +167,8 @@
sizeof(CPPDataMember), // tp_basicsize
0, // tp_itemsize
(destructor)pp_dealloc, // tp_dealloc
@@ -271,7 +286,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDa
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -217,6 +218,12 @@
+@@ -216,6 +217,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -284,10 +299,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDa
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-13 16:47:15.029777701 +0100
-@@ -385,7 +385,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-15 19:43:20.949684667 +0100
+@@ -565,7 +565,8 @@
sizeof(CPPInstance), // tp_basicsize
0, // tp_itemsize
(destructor)op_dealloc, // tp_dealloc
@@ -297,7 +312,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPIn
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -437,6 +438,12 @@
+@@ -617,6 +618,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -310,10 +325,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPIn
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-13 16:47:15.030777691 +0100
-@@ -813,7 +813,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-15 19:43:20.950684656 +0100
+@@ -889,7 +889,8 @@
sizeof(CPPOverload), // tp_basicsize
0, // tp_itemsize
(destructor)mp_dealloc, // tp_dealloc
@@ -323,7 +338,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOv
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -862,6 +863,12 @@
+@@ -938,6 +939,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -336,10 +351,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOv
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-13 16:47:15.030777691 +0100
-@@ -424,7 +424,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-15 19:43:20.950684656 +0100
+@@ -596,7 +596,8 @@
sizeof(CPyCppyy::CPPScope), // tp_basicsize
0, // tp_itemsize
0, // tp_dealloc
@@ -349,7 +364,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPSc
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -473,6 +474,12 @@
+@@ -649,6 +650,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -362,9 +377,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPSc
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-13 16:47:15.030777691 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-15 19:43:20.951684646 +0100
@@ -140,6 +140,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
@@ -378,10 +393,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCp
};
namespace {
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-13 16:57:57.529034828 +0100
-@@ -32,6 +32,12 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-15 19:43:20.951684646 +0100
+@@ -33,6 +33,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -394,7 +409,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
//= long type allowed for reference passing ==================================
-@@ -54,6 +60,12 @@
+@@ -59,6 +65,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -406,8 +421,21 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
+#endif
};
+ //- custom type representing typedef to pointer of class ---------------------
+@@ -89,6 +101,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
//= instancemethod object with a more efficient call function ================
-@@ -219,6 +231,12 @@
+@@ -254,6 +272,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -420,7 +448,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
-@@ -269,6 +287,12 @@
+@@ -304,6 +328,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -433,7 +461,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
-@@ -320,6 +344,12 @@
+@@ -355,6 +385,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -446,10 +474,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-13 16:47:15.031777680 +0100
-@@ -657,7 +657,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-15 19:43:20.951684646 +0100
+@@ -651,7 +651,8 @@
sizeof(CPyCppyy::LowLevelView),// tp_basicsize
0, // tp_itemsize
(destructor)ll_dealloc, // tp_dealloc
@@ -459,7 +487,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLe
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -707,6 +708,12 @@
+@@ -701,6 +702,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -472,10 +500,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLe
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-13 16:47:15.032777670 +0100
-@@ -515,7 +515,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-15 19:43:20.952684635 +0100
+@@ -709,7 +709,8 @@
sizeof(TemplateProxy), // tp_basicsize
0, // tp_itemsize
(destructor)tpp_dealloc, // tp_dealloc
@@ -485,7 +513,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Templ
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -564,6 +565,12 @@
+@@ -758,6 +759,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -498,10 +526,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Templ
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-13 16:47:15.032777670 +0100
-@@ -79,6 +79,12 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-15 19:43:20.952684635 +0100
+@@ -82,6 +82,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -514,7 +542,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Tuple
};
-@@ -152,7 +158,8 @@
+@@ -161,7 +167,8 @@
0, // tp_basicsize
0, // tp_itemsize
0, // tp_dealloc
@@ -524,7 +552,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Tuple
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -202,6 +209,12 @@
+@@ -211,6 +218,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
diff --git a/root-python3.patch b/root-python3.patch
deleted file mode 100644
index e1cda30..0000000
--- a/root-python3.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 4cf9170f308934688e7f767086589cd8cc0a0a85 Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Fri, 28 Jun 2019 22:23:49 +0200
-Subject: [PATCH] Python 3 compatibility
-
----
- tutorials/histfactory/example.py | 2 +-
- tutorials/pyroot/mrt.py | 20 ++++++++++----------
- 2 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/tutorials/histfactory/example.py b/tutorials/histfactory/example.py
-index 91e1d26939..6ccf3bb350 100755
---- a/tutorials/histfactory/example.py
-+++ b/tutorials/histfactory/example.py
-@@ -12,7 +12,7 @@ def main():
- try:
- import ROOT
- except:
-- print "It seems that pyROOT isn't properly configured"
-+ print("It seems that pyROOT isn't properly configured")
- return
-
- """
-diff --git a/tutorials/pyroot/mrt.py b/tutorials/pyroot/mrt.py
-index b3a8c0d719..17a73f6881 100644
---- a/tutorials/pyroot/mrt.py
-+++ b/tutorials/pyroot/mrt.py
-@@ -10,28 +10,28 @@
- ##
- ## \author Wim Lavrijsen
-
--import sys, string, os
--from ROOT import TFile, TNtuple
-+import sys, os
-+from ROOT import TFile, TNtuple, TROOT
-
-
--ifn = os.path.expandvars("${ROOTSYS}/tutorials/pyroot/aptuple.txt")
-+ifn = os.path.join(str(TROOT.GetTutorialDir()), 'pyroot', 'aptuple.txt')
- ofn = 'aptuple.root'
-
--print 'opening file', ifn, '...'
-+print('opening file %s ...' % ifn)
- infile = open( ifn, 'r' )
- lines = infile.readlines()
- title = lines[0]
--labels = string.split( lines[1] )
-+labels = lines[1].split()
-
--print 'writing file', ofn, '...'
-+print('writing file %s ...' % ofn)
- outfile = TFile( ofn, 'RECREATE', 'ROOT file with an NTuple' )
--ntuple = TNtuple( 'ntuple', title, string.join( labels, ':') )
-+ntuple = TNtuple( 'ntuple', title, ':'.join( labels ) )
-
- for line in lines[2:]:
-- words = string.split( line )
-+ words = line.split()
- row = map( float, words )
-- apply( ntuple.Fill, row )
-+ ntuple.Fill(*row)
-
- outfile.Write()
-
--print 'done'
-+print('done')
---
-2.21.0
-
diff --git a/root-static-constexpr.patch b/root-static-constexpr.patch
deleted file mode 100644
index c04ba6f..0000000
--- a/root-static-constexpr.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx
---- root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2020-02-15 21:16:58.819735413 +0100
-@@ -26,6 +26,8 @@
- {
- }
-
-+constexpr const ROOT::Experimental::RDrawingAttrBase::FromOption_t ROOT::Experimental::RDrawingAttrBase::FromOption;
-+
- ROOT::Experimental::RDrawingAttrBase::RDrawingAttrBase(FromOption_t, const Name &name, RDrawingOptsBase &opts) :
- fPath{name.fStr}, fHolder(opts.GetHolder())
- {
diff --git a/root-stress-aarch64-ppc64le.patch b/root-stress-aarch64-ppc64le.patch
deleted file mode 100644
index a925460..0000000
--- a/root-stress-aarch64-ppc64le.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From dd6d00b07778023449a7e6fe01f90a524237b20a Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Mon, 1 Jul 2019 08:53:15 +0200
-Subject: [PATCH] Increase test tolerence
-
-Test fails on aarch64 and ppc64le on Fedora 30 and Fedora rawhide:
-Test 3 : Purge, Reuse of gaps in TFile......................... FAILED
- File size= 52010 (expected 51886 +/- 100)
- Comp Fact= 2.00 (expected 2.1 +/- 0.3)
----
- test/stress.cxx | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/stress.cxx b/test/stress.cxx
-index 509bb0f17d..c0b44d9b77 100644
---- a/test/stress.cxx
-+++ b/test/stress.cxx
-@@ -406,7 +406,7 @@ void stress3()
- #else
- constexpr Long64_t lastgood = 51886;
- #endif
-- constexpr Long64_t tolerance = 100;
-+ constexpr Long64_t tolerance = 150;
- #ifdef R__HAS_DEFAULT_LZ4
- constexpr Long64_t difflastgoodlz4 = 5500;
- if (last < lastgood - tolerance || last > lastgood + difflastgoodlz4 + tolerance || comp < 1.5 || comp > 2.1)
---
-2.21.0
-
diff --git a/root-unbundle-gtest.patch b/root-unbundle-gtest.patch
index 0fe4103..44939ca 100644
--- a/root-unbundle-gtest.patch
+++ b/root-unbundle-gtest.patch
@@ -1,7 +1,7 @@
-diff -ur root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.18.00/cmake/modules/SearchInstalledSoftware.cmake
---- root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/cmake/modules/SearchInstalledSoftware.cmake 2019-06-26 16:00:21.275634375 +0200
-@@ -1380,80 +1380,18 @@
+diff -ur root-6.20.02.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.20.02/cmake/modules/SearchInstalledSoftware.cmake
+--- root-6.20.02.orig/cmake/modules/SearchInstalledSoftware.cmake 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/cmake/modules/SearchInstalledSoftware.cmake 2020-03-15 20:12:34.446078193 +0100
+@@ -1528,83 +1528,18 @@
#---Download googletest--------------------------------------------------------------
if (testing)
@@ -24,7 +24,9 @@ diff -ur root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.18
- if(MSVC)
- set(EXTRA_GTEST_OPTS
- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG:PATH=\\\"\\\"
-- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=\\\"\\\")
+- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_MINSIZEREL:PATH=\\\"\\\"
+- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=\\\"\\\"
+- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO:PATH=\\\"\\\")
- endif()
- if(APPLE)
- set(EXTRA_GTEST_OPTS
@@ -34,6 +36,7 @@ diff -ur root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.18
- ExternalProject_Add(
- googletest
- GIT_REPOSITORY https://github.com/google/googletest.git
+- GIT_SHALLOW 1
- GIT_TAG release-1.8.0
- UPDATE_COMMAND ""
- # TIMEOUT 10
diff --git a/root.spec b/root.spec
index 02e7bb6..7a79f82 100644
--- a/root.spec
+++ b/root.spec
@@ -49,9 +49,9 @@
%global __provides_exclude_from ^(%{?python2_sitearch:%{python2_sitearch}|}%{python3_sitearch}%{?python3_other_sitearch:|%{python3_other_sitearch}})/libJupyROOT\\.so$
Name: root
-Version: 6.18.04
+Version: 6.20.02
%global libversion %(cut -d. -f 1-2 <<< %{version})
-Release: 6%{?dist}
+Release: 1%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@@ -103,51 +103,36 @@ Patch10: %{name}-clang-ignore-gcc-options.patch
Patch11: %{name}-doc-no-notebooks.patch
# Don't run tutorial requiring firefox during doc generation
Patch12: %{name}-v7-line.patch
-# Install man pages in correct directory
-# https://github.com/root-project/root/pull/4026
-Patch13: %{name}-man-install.patch
-# Use correct library names in plugin definitions
-# https://github.com/root-project/root/pull/4026
-Patch14: %{name}-fix-plugin-definition.patch
-# Don't download test input file if it already exists
-# https://github.com/root-project/root/pull/4026
-Patch15: %{name}-dont-download-input-file-if-it-already-exists.patch
-# Python 3 fixes
-# https://github.com/root-project/root/pull/4026
-Patch16: %{name}-python3.patch
-# Increase test tolerance (aarch64 and ppc64le)
-# https://github.com/root-project/root/pull/4025
-Patch17: %{name}-stress-aarch64-ppc64le.patch
-# Fix GDB pretty printers install name and location
-# https://github.com/root-project/root/pull/4024
-Patch18: %{name}-pretty-printers.patch
-# Missing include - fails with gcc 10
-Patch19: %{name}-missing-include-string.patch
# Fix ppc64le build with gcc 10
# https://github.com/root-project/root/pull/5157
-Patch20: %{name}-clang-altivec-vector.patch
-# Missing symbol - with gcc 10
-Patch21: %{name}-static-constexpr.patch
+Patch13: %{name}-clang-altivec-vector.patch
# Fix -Wmissing-field-initializers in python bindings for
# Python 3.8 and 3.9
# https://github.com/root-project/root/pull/5158
-Patch22: %{name}-python3.8-object.patch
+Patch14: %{name}-python3.8-object.patch
# Correct broken assert statements
# https://github.com/root-project/root/pull/5159
-Patch23: %{name}-FitData-assert-fix.patch
+Patch15: %{name}-FitData-assert-fix.patch
# The test that creates the file must run before the test that
# modifies it
# https://github.com/root-project/root/pull/5160
-Patch24: %{name}-xmlmodify-dep.patch
+Patch16: %{name}-xmlmodify-dep.patch
# Use unique filenames in tutorials so they can be run in
# parallel
# Backport from upstream's git
-Patch25: %{name}-tutorials-unique-filenames.patch
+Patch17: %{name}-tutorials-unique-filenames.patch
# Size types should use %z
# https://github.com/root-project/root/pull/5161
-Patch26: %{name}-format-fix.patch
+Patch18: %{name}-format-fix.patch
# Run some test on 32 bit that upstream has disabled
-Patch27: %{name}-32bit-tests.patch
+Patch19: %{name}-32bit-tests.patch
+# The file was moved - update path
+# https://github.com/root-project/root/pull/5162
+Patch20: %{name}-moved-file.patch
+# Workaround for initialization problems for PyROOT on
+# EPEL7 ppc64le
+# https://sft.its.cern.ch/jira/browse/ROOT-10622
+Patch21: %{name}-epel7-ppc64le-pyroot.patch
# s390x suffers from endian issues resulting in failing tests
# and broken documentation generation
@@ -155,9 +140,9 @@ Patch27: %{name}-32bit-tests.patch
ExcludeArch: s390x
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
-BuildRequires: cmake >= 3.4.3
+BuildRequires: cmake >= 3.9
%else
-BuildRequires: cmake3 >= 3.4.3
+BuildRequires: cmake3 >= 3.9
%endif
BuildRequires: libX11-devel
BuildRequires: libXpm-devel
@@ -174,6 +159,7 @@ BuildRequires: zlib-devel
BuildRequires: xz-devel
BuildRequires: lz4-devel
BuildRequires: xxhash-devel
+BuildRequires: libzstd-devel
# Require a version of libAfterImage that is properly linked to
# its dependencies
BuildRequires: libAfterImage-devel >= 1.20-21
@@ -888,9 +874,6 @@ Requires: %{name}-core%{?_isa} = %{version}-%{release}
Requires: %{name}-graf%{?_isa} = %{version}-%{release}
Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
Requires: %{name}-hist%{?_isa} = %{version}-%{release}
-%if %{root7}
-Requires: %{name}-hist-draw%{?_isa} = %{version}-%{release}
-%endif
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
@@ -924,6 +907,8 @@ Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-io-xmlparser%{?_isa} = %{version}-%{release}
Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
Requires: %{name}-roofit%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-roostats%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
%description hist-factory
@@ -1387,21 +1372,49 @@ This package contains the xproof extension for ROOT. This provides a
client to be used in a PROOF environment.
%package roofit
-Summary: ROOT extension for modeling expected distributions
+Summary: ROOT extension for modeling expected distributions - toolkit
+License: BSD
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-hist%{?_isa} = %{version}-%{release}
+Requires: %{name}-io%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
+Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-tree%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
+
+%description roofit
+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 toolkit classes.
+
+%package roofit-core
+Summary: ROOT extension for modeling expected distributions - core
License: BSD
Requires: %{name}-core%{?_isa} = %{version}-%{release}
Requires: %{name}-foam%{?_isa} = %{version}-%{release}
Requires: %{name}-graf%{?_isa} = %{version}-%{release}
-Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
Requires: %{name}-hist%{?_isa} = %{version}-%{release}
Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
-Requires: %{name}-mathmore%{?_isa} = %{version}-%{release}
Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
Requires: %{name}-minuit%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
-%description roofit
+%description roofit-core
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
@@ -1414,6 +1427,54 @@ 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 core RooFit classes.
+
+%package roofit-more
+Summary: ROOT extension for modeling expected distributions - more
+License: BSD
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathmore%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
+
+%description roofit-more
+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 RooFit classes that use the mathmore library.
+
+%package roostats
+Summary: Statistical tools built on top of RooFit
+License: BSD
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
+Requires: %{name}-hist%{?_isa} = %{version}-%{release}
+Requires: %{name}-io%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
+Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
+Requires: %{name}-minuit%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-tree%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
+
+%description roostats
+RooStats is a package containing statistical tools built on top of
+RooFit.
+
%package sql-mysql
Summary: MySQL client plugin for ROOT
Requires: %{name}-core%{?_isa} = %{version}-%{release}
@@ -1550,6 +1611,7 @@ This package contains the Tree library for ROOT.
Summary: A high level interface to ROOT trees
Requires: %{name}-core%{?_isa} = %{version}-%{release}
Requires: %{name}-hist%{?_isa} = %{version}-%{release}
+Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
%if %{root7}
@@ -1637,7 +1699,6 @@ Javascript and style files for the Jupyter ROOT Notebook.
%package graf-gpadv7
Summary: Canvas and pad library for ROOT (ROOT 7)
Requires: %{name}-core%{?_isa} = %{version}-%{release}
-Requires: %{name}-io%{?_isa} = %{version}-%{release}
%description graf-gpadv7
This package contains a library for canvas and pad manipulations.
@@ -1660,6 +1721,7 @@ Requires: %{name}-gui-webdisplay%{?_isa} = %{version}-%{release}
Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
Requires: %{name}-montecarlo-eg%{?_isa} = %{version}-%{release}
+Requires: %{name}-net-http%{?_isa} = %{version}-%{release}
Requires: %{name}-physics%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
Requires: %{name}-tree-player%{?_isa} = %{version}-%{release}
@@ -1670,8 +1732,13 @@ This package contains a library for defining event displays in ROOT 7.
%package gui-browserv7
Summary: Browser (ROOT 7)
Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf-gpadv7%{?_isa} = %{version}-%{release}
Requires: %{name}-gui-webdisplay%{?_isa} = %{version}-%{release}
+Requires: %{name}-gui-webgui6%{?_isa} = %{version}-%{release}
+Requires: %{name}-hist%{?_isa} = %{version}-%{release}
Requires: %{name}-io%{?_isa} = %{version}-%{release}
+Requires: %{name}-tree%{?_isa} = %{version}-%{release}
%description gui-browserv7
This package contains a file browser for ROOT 7.
@@ -1732,6 +1799,13 @@ Requires: %{name}-io%{?_isa} = %{version}-%{release}
%description gui-webgui6
This package provides a Web based GUI for ROOT.
+%package histv7
+Summary: Histogram library for ROOT (ROOT 7)
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+
+%description histv7
+This package contains a library for histogramming in ROOT 7.
+
%package hist-draw
Summary: Histogram drawing (ROOT 7)
Requires: %{name}-core%{?_isa} = %{version}-%{release}
@@ -1773,13 +1847,11 @@ This package contains an ntuple extension for ROOT 7.
%patch18 -p1
%patch19 -p1
%patch20 -p1
+%if %{?rhel}%{!?rhel:0} == 7
+%ifarch ppc64le
%patch21 -p1
-%patch22 -p1
-%patch23 -p1
-%patch24 -p1
-%patch25 -p1
-%patch26 -p1
-%patch27 -p1
+%endif
+%endif
# Remove bundled sources in order to be sure they are not used
# * afterimage
@@ -1790,7 +1862,7 @@ rm -rf graf3d/ftgl/src graf3d/ftgl/inc
rm -rf graf2d/freetype/src
# * glew
rm -rf graf3d/glew/src graf3d/glew/inc graf3d/glew/isystem
-# * davix, lz4, openssl, pcre, xxhash, zlib
+# * davix, lz4, openssl, pcre, xxhash, zlib, zstd
rm -rf builtins
# * lzma
rm -rf core/lzma/src/*.tar.gz
@@ -1902,14 +1974,13 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dbuiltin_xrootd:BOOL=OFF \
-Dbuiltin_xxhash:BOOL=OFF \
-Dbuiltin_zlib:BOOL=OFF \
+ -Dbuiltin_zstd:BOOL=OFF \
-Dalien:BOOL=OFF \
-Darrow:BOOL=OFF \
-Dasimage:BOOL=ON \
- -Dastiff:BOOL=ON \
-Dccache:BOOL=OFF \
-Dcefweb:BOOL=OFF \
-Dclad:BOOL=OFF \
- -Dcling:BOOL=ON \
-Dcocoa:BOOL=OFF \
-Dcuda:BOOL=OFF \
%if %{root7}
@@ -1922,10 +1993,11 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dwebgui:BOOL=OFF \
%endif
-Dcxxmodules:BOOL=OFF \
+ -Ddataframe:BOOL=ON \
-Ddavix:BOOL=ON \
-Ddcache:BOOL=ON \
-Dexceptions:BOOL=ON \
- -Dexplicitlink:BOOL=ON \
+ -Dfcgi:BOOL=ON \
-Dfftw3:BOOL=ON \
-DFIREFOX_EXECUTABLE:PATH=/usr/bin/firefox \
-Dfitsio:BOOL=ON \
@@ -1946,17 +2018,18 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dmemory_termination:BOOL=OFF \
-Dmemstat:BOOL=ON \
-Dminuit2:BOOL=ON \
+ -Dmlp:BOOL=ON \
-Dmonalisa:BOOL=OFF \
+ -Dmpi:BOOL=OFF \
-Dmysql:BOOL=ON \
-Dodbc:BOOL=ON \
-Dopengl:BOOL=ON \
-Doracle:BOOL=OFF \
- -Dpch:BOOL=ON \
-Dpgsql:BOOL=ON \
-Dpythia6:BOOL=OFF \
-Dpythia8:BOOL=ON \
- -Dpython:BOOL=ON \
-DPYTHON_EXECUTABLE:PATH=%{__pythondef} \
+ -Dpyroot:BOOL=ON \
%ifarch %{qt5_qtwebengine_arches}
-Dqt5web:BOOL=ON \
%else
@@ -1970,10 +2043,10 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dshadowpw:BOOL=ON \
-Dshared:BOOL=ON \
-Dsoversion:BOOL=ON \
+ -Dspectrum:BOOL=ON \
-Dsqlite:BOOL=ON \
-Dssl:BOOL=ON \
-Dtcmalloc:BOOL=OFF \
- -Dthread:BOOL=ON \
-Dtmva:BOOL=ON \
%if %{tbb}
-Dtmva-cpu:BOOL=ON \
@@ -2035,7 +2108,9 @@ else
py3l=`pkg-config --libs-only-l python3 | sed -e 's/-l//' -e 's/\s*$//'`
fi
sed -e "s,${py3i},${py2i},g" -e "s,-l${py3l},-l${py2l},g" \
- -e "s,lib${py3l},lib${py2l},g" -e 's,%{__python3},%{__python2},g' \
+ -e "s,lib${py3l},lib${py2l},g" \
+ -e 's,%{__python}%{python3_version},%{__python2},g' \
+ -e 's,%{__python3},%{__python2},g' \
-e 's,lib/libPyROOT,python2/libPyROOT,g' \
-e 's,lib/libJupyROOT,python2/libJupyROOT,g' \
-e 's!bindings/pyroot!bindings/python2!g' \
@@ -2062,7 +2137,9 @@ else
py3l=`pkg-config --libs-only-l python3 | sed -e 's/-l//' -e 's/\s*$//'`
fi
sed -e "s,${py2i},${py3i},g" -e "s,-l${py2l},-l${py3l},g" \
- -e "s,lib${py2l},lib${py3l},g" -e 's,%{__python2},%{__python3},g' \
+ -e "s,lib${py2l},lib${py3l},g" \
+ -e 's,%{__python}%{python2_version},%{__python3},g' \
+ -e 's,%{__python2},%{__python3},g' \
-e 's,lib/libPyROOT,python3/libPyROOT,g' \
-e 's,lib/libJupyROOT,python3/libJupyROOT,g' \
-e 's!bindings/pyroot!bindings/python3!g' \
@@ -2089,7 +2166,9 @@ else
py3l=`pkg-config --libs-only-l python-%{python3_other_version} | sed -e 's/-l//' -e 's/\s*$//'`
fi
sed -e "s,${py2i},${py3i},g" -e "s,-l${py2l},-l${py3l},g" \
- -e "s,lib${py2l},lib${py3l},g" -e 's,%{__python2},%{__python3_other},g' \
+ -e "s,lib${py2l},lib${py3l},g" \
+ -e 's,%{__python}%{python2_version},%{__python3_other},g' \
+ -e 's,%{__python2},%{__python3_other},g' \
-e 's,lib/libPyROOT,python3oth/libPyROOT,g' \
-e 's,lib/libJupyROOT,python3oth/libJupyROOT,g' \
-e 's!bindings/pyroot!bindings/python3oth!g' \
@@ -2135,10 +2214,14 @@ rm %{buildroot}%{_libdir}/%{name}/__pycache__/cmdLineUtils.*
%endif
sed -e '/^\#!/d' -i %{buildroot}%{_datadir}/%{name}/cli/cmdLineUtils.py
-# Move GDB pretty printers to auto load safe path
+# Install GDB pretty printers to auto load safe path
+# These are installed (in libdir) by "make install" if CMAKE_BUILD_TYPE
+# matches Debug or RelWithDebInfo
mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}
-mv %{buildroot}%{_libdir}/%{name}/*-gdb.py \
- %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}
+install -p -m 644 build/gdbPrinters/libCore.so-gdb.py \
+ %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}/libCore.so.%{version}-gdb.py
+install -p -m 644 build/gdbPrinters/libRooFitCore.so-gdb.py \
+ %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}/libRooFitCore.so.%{version}-gdb.py
# Do python byte compilation (for non-standard paths)
%if %{?fedora}%{!?fedora:0} >= 28 || %{?rhel}%{!?rhel:0} >= 8
@@ -2386,10 +2469,6 @@ rm -rf %{buildroot}%{_datadir}/%{name}/proof/utils
rm %{buildroot}%{_datadir}/%{name}/root.desktop
rm %{buildroot}%{_bindir}/setxrd*
rm %{buildroot}%{_bindir}/thisroot*
-rm %{buildroot}%{_mandir}/man1/g2rootold.1
-rm %{buildroot}%{_mandir}/man1/genmap.1
-rm %{buildroot}%{_mandir}/man1/proofserva.1
-rm %{buildroot}%{_mandir}/man1/roota.1
rm %{buildroot}%{_pkgdocdir}/INSTALL
rm %{buildroot}%{_pkgdocdir}/README.ALIEN
rm %{buildroot}%{_pkgdocdir}/README.CXXMODULES.md
@@ -2400,7 +2479,6 @@ rm %{buildroot}%{_datadir}/%{name}/macros/fileopen.C
# Remove plugin definitions for non-built and obsolete plugins
pushd %{buildroot}%{_datadir}/%{name}/plugins
-rm TDataProgressDialog/P010_TDataProgressDialog.C
rm TDataSetManager/P020_TDataSetManagerAliEn.C
rm TFile/P070_TAlienFile.C
rm TGLManager/P020_TGWin32GLManager.C
@@ -2416,8 +2494,6 @@ rm TVirtualGLImp/P020_TGWin32GL.C
rm TVirtualMonitoringWriter/P010_TMonaLisaWriter.C
rm TVirtualX/P030_TGWin32.C
rm TVirtualX/P050_TGQuartz.C
-rm TVirtualX/P060_TWebVirtualX.C
-rmdir TDataProgressDialog
rmdir TGrid
rmdir TVirtualGeoConverter
popd
@@ -2492,7 +2568,6 @@ done
# ... and merge some of them
cat includelist-core-{[^mw],m[^au]}* > includelist-core
cat includelist-geom-geom* > includelist-geom
-cat includelist-roofit-roo* > includelist-roofit
cat includelist-graf2d-x11ttf >> includelist-graf2d-x11
cat includelist-net-netx* > includelist-netx
@@ -2558,6 +2633,23 @@ popd
#
# - tutorial-v7-line.cxx
# requires a web browser (and js-jsroot) to render javascript graphics
+#
+# - gtest-io-io-test-RRawFile (*)
+# - gtest-net-davix-test-RRawFileDavix
+# reads input file over network
+# http://root.cern.ch/files/davix.test
+# (*) one subtest RRawFile.Remote fails, others woud be OK
+#
+# - gtest-tmva-tmva-test-rreader
+# - gtest-tmva-tmva-test-rstandardscaler
+# - tutorial-tmva-tmva003_RReader
+# - tutorial-tmva-tmva004_RStandardScaler
+# reads input data over network
+# http://root.cern.ch/files/tmva_class_example.root
+#
+# - tutorial-tmva-tmva103_Application
+# reads input data over network
+# http://root.cern/files/tmva101.root
excluded="\
test-stressIOPlugins|\
tutorial-dataframe-df101_h1Analysis|\
@@ -2575,11 +2667,17 @@ tutorial-dataframe-df103_NanoAODHiggsAnalysis|\
tutorial-v7-ntuple-ntpl003_lhcbOpenData|\
tutorial-v7-ntuple-ntpl004_dimuon|\
tutorial-pythia-pythia8|\
-tutorial-v7-line.cxx"
+tutorial-v7-line.cxx|\
+gtest-io-io-test-RRawFile|\
+gtest-net-davix-test-RRawFileDavix|\
+gtest-tmva-tmva-test-rreader|\
+gtest-tmva-tmva-test-rstandardscaler|\
+tutorial-tmva-tmva003_RReader|\
+tutorial-tmva-tmva004_RStandardScaler|\
+tutorial-tmva-tmva103_Application"
%ifarch %{ix86} %{arm}
-%if %{?fedora}%{!?fedora:0} >= 30
-# Tests failing on 32 bit architectures on Fedoea 30+ (gcc 9?)
+# Tests failing on 32 bit architectures (dataframe)
# A bit random - not all the tests fail every time...
# - gtest-tree-dataframe-test-dataframe-cache
# - gtest-tree-dataframe-test-dataframe-callbacks
@@ -2590,6 +2688,7 @@ tutorial-v7-line.cxx"
# - gtest-tree-dataframe-test-dataframe-simple
# - gtest-tree-dataframe-test-dataframe-snapshot
# - gtest-tree-dataframe-test-datasource-root
+# - gtest-tree-dataframe-test-datasource-trivial
excluded="${excluded}|\
gtest-tree-dataframe-test-dataframe-cache|\
gtest-tree-dataframe-test-dataframe-callbacks|\
@@ -2599,23 +2698,14 @@ gtest-tree-dataframe-test-dataframe-helpers|\
gtest-tree-dataframe-test-dataframe-interface|\
gtest-tree-dataframe-test-dataframe-simple|\
gtest-tree-dataframe-test-dataframe-snapshot|\
-gtest-tree-dataframe-test-datasource-root"
-%endif
+gtest-tree-dataframe-test-datasource-root|\
+gtest-tree-dataframe-test-datasource-trivial"
%endif
%ifarch %{arm}
# Tests failing on 32 bit arm
# - gtest-tree-tree-test-testBulkApiSillyStruct
-# - tutorial-v7-draw.cxx
-# - tutorial-v7-draw_mt.cxx
-# - tutorial-v7-draw_rh1.cxx
-# - tutorial-v7-draw_subpads.cxx
-excluded="${excluded}|\
-gtest-tree-tree-test-testBulkApiSillyStruct|\
-tutorial-v7-draw.cxx|\
-tutorial-v7-draw_mt.cxx|\
-tutorial-v7-draw_rh1.cxx|\
-tutorial-v7-draw_subpads.cxx"
+excluded="${excluded}|gtest-tree-tree-test-testBulkApiSillyStruct"
%endif
%ifarch ppc64le
@@ -2629,17 +2719,6 @@ excluded="${excluded}|tutorial-roofit-rf608_fitresultaspdf-py"
%endif
%endif
-%if %{?fedora}%{!?fedora:0} >= 32
-# New failures with Fedora 32+ (gcc 10)
-excluded="${excluded}|tutorial-v7-markerStyle.cxx"
-%ifarch %{ix86} ppc64le
-excluded="${excluded}|TMVA-DNN-CNN-Reshape-CPU"
-%endif
-%ifarch ppc64le
-excluded="${excluded}|tutorial-v7-lineStyle.cxx|tutorial-v7-lineWidth.cxx"
-%endif
-%endif
-
make test ARGS="%{?_smp_mflags} --output-on-failure -E \"${excluded}\""
popd
@@ -2896,6 +2975,9 @@ fi
%ldconfig_scriptlets proof-sessionviewer
%ldconfig_scriptlets xproof
%ldconfig_scriptlets roofit
+%ldconfig_scriptlets roofit-core
+%ldconfig_scriptlets roofit-more
+%ldconfig_scriptlets roostats
%ldconfig_scriptlets sql-mysql
%ldconfig_scriptlets sql-odbc
%ldconfig_scriptlets sql-sqlite
@@ -2921,6 +3003,7 @@ fi
%endif
%ldconfig_scriptlets gui-webdisplay
%ldconfig_scriptlets gui-webgui6
+%ldconfig_scriptlets histv7
%ldconfig_scriptlets hist-draw
%ldconfig_scriptlets tree-ntuple
%endif
@@ -2986,9 +3069,6 @@ fi
%{_mandir}/man1/system.rootdaemonrc.1*
%dir %{_datadir}/%{name}/cmake
%{_datadir}/%{name}/cmake/*.cmake
-%dir %{_datadir}/%{name}/cmake/modules
-%{_datadir}/%{name}/cmake/modules/*.cmake
-%{_datadir}/%{name}/cmake/modules/*.cmake.in
%dir %{_datadir}/%{name}/macros
%{_datadir}/%{name}/macros/Dialogs.C
%dir %{_datadir}/%{name}/plugins
@@ -2998,9 +3078,7 @@ fi
%{_includedir}/%{name}/RConfigure.h
%{_includedir}/%{name}/RGitCommit.h
%{_includedir}/%{name}/compiledata.h
-%{_includedir}/%{name}/libc.modulemap
%{_includedir}/%{name}/module.modulemap
-%{_includedir}/%{name}/stl.modulemap
%dir %{_includedir}/%{name}/Math
%dir %{_includedir}/%{name}/ROOT
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
@@ -3052,6 +3130,7 @@ fi
%{python2_sitearch}/ROOT-*.egg-info
%{python2_sitearch}/cppyy.py*
%{python2_sitearch}/_pythonization.py*
+%{python2_sitearch}/_rdf_utils.py*
%endif
%if ! %{py3default}
@@ -3080,6 +3159,7 @@ fi
%{python3_sitearch}/ROOT-*.egg-info
%{python3_sitearch}/cppyy.py
%{python3_sitearch}/_pythonization.py
+%{python3_sitearch}/_rdf_utils.py
%{python3_sitearch}/__pycache__/*
%files -n python%{python3_pkgversion}-jupyroot
@@ -3107,6 +3187,7 @@ fi
%{python3_other_sitearch}/ROOT-*.egg-info
%{python3_other_sitearch}/cppyy.py
%{python3_other_sitearch}/_pythonization.py
+%{python3_other_sitearch}/_rdf_utils.py
%{python3_other_sitearch}/__pycache__/*
%files -n python%{python3_other_pkgversion}-jupyroot
@@ -3475,6 +3556,7 @@ fi
%{_libdir}/%{name}/libRDAVIX_rdict.pcm
%{_datadir}/%{name}/plugins/TFile/P130_TDavixFile.C
%{_datadir}/%{name}/plugins/TSystem/P045_TDavixSystem.C
+%{_datadir}/%{name}/plugins/ROOT@@Internal@(a)RRawFile/P010_RRawFileDavix.C
%files net-http -f includelist-net-http
%{_libdir}/%{name}/libRHTTP.*
@@ -3548,15 +3630,23 @@ fi
%{_datadir}/%{name}/plugins/TProofServ/P010_TXProofServ.C
%{_datadir}/%{name}/plugins/TSlave/P010_TXSlave.C
-%files roofit -f includelist-roofit
+%files roofit -f includelist-roofit-roofit
%{_libdir}/%{name}/libRooFit.*
%{_libdir}/%{name}/libRooFit_rdict.pcm
+
+%files roofit-core -f includelist-roofit-roofitcore
%{_libdir}/%{name}/libRooFitCore.*
%{_libdir}/%{name}/libRooFitCore_rdict.pcm
%{_datadir}/gdb/auto-load%{_libdir}/%{name}/libRooFitCore.*
%if %{?fedora}%{!?fedora:0} >= 28 || %{?rhel}%{!?rhel:0} >= 8
%{_datadir}/gdb/auto-load%{_libdir}/%{name}/__pycache__/libRooFitCore.*
%endif
+
+%files roofit-more -f includelist-roofit-roofitmore
+%{_libdir}/%{name}/libRooFitMore.*
+%{_libdir}/%{name}/libRooFitMore_rdict.pcm
+
+%files roostats -f includelist-roofit-roostats
%{_libdir}/%{name}/libRooStats.*
%{_libdir}/%{name}/libRooStats_rdict.pcm
%dir %{_includedir}/%{name}/RooStats
@@ -3652,7 +3742,7 @@ fi
%{_libdir}/%{name}/libROOTGpadv7.*
%{_libdir}/%{name}/libROOTGpadv7_rdict.pcm
-%files graf-primitives -f includelist-graf2d-primitives
+%files graf-primitives -f includelist-graf2d-primitivesv7
%{_libdir}/%{name}/libROOTGraphicsPrimitives.*
%{_libdir}/%{name}/libROOTGraphicsPrimitives_rdict.pcm
@@ -3686,7 +3776,11 @@ fi
%{_libdir}/%{name}/libWebGui6_rdict.pcm
%{_datadir}/%{name}/plugins/TGuiFactory/P030_TWebGuiFactory.C
-%files hist-draw -f includelist-hist-histdraw
+%files histv7 -f includelist-hist-histv7
+%{_libdir}/%{name}/libROOTHist.*
+%{_libdir}/%{name}/libROOTHist_rdict.pcm
+
+%files hist-draw -f includelist-hist-histdrawv7
%{_libdir}/%{name}/libROOTHistDraw.*
%{_libdir}/%{name}/libROOTHistDraw_rdict.pcm
@@ -3696,6 +3790,28 @@ fi
%endif
%changelog
+* Sun Mar 22 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.20.02-1
+- Update to 6.20.02
+- Drop patches accepted upstream
+ - root-dont-download-input-file-if-it-already-exists.patch
+ - root-fix-plugin-definition.patch
+ - root-man-install.patch
+ - root-pretty-printers.patch
+ - root-python3.patch
+ - root-stress-aarch64-ppc64le.patch
+- Drop patches no longer relevant due to changes to the code
+ - root-missing-include-string.patch
+ - root-static-constexpr.patch
+- Add workaround for PyROOT issues on ppc64le in EPEL 7
+ - root-epel7-ppc64le-pyroot.patch (patch conditionally applied)
+- Fix path to moved data file in tutorial
+ - root-moved-file.patch
+- Split the root-roofit subpackage into four different packages
+ - root-roofit, root-roofit-core, root-roofit-more and root-roostats
+ - The root-roofit-more library splits out the part of roofit that depends on
+ the root-mathmore package
+- New subpackage: root-histv7
+
* Sat Mar 14 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-6
- Build for 32 bit ARM again - gcc-10.0.1-0.9 fixes the problem
diff --git a/sources b/sources
index b86045b..0372c45 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (root-6.18.04.tar.xz) = 9ce3b5e1fa79cc010aa3b20ad3bfd8c4cf8605c17c0fb79991614ae299f3e08f00e76a1847b53f368a7bf006d90c1b5d152d1bf65a32b94f80835a47c60e03e6
+SHA512 (root-6.20.02.tar.xz) = 65f60c52485e72ef405daf10fa08a2d453c7f72f5f3721b97762094713dad1b0f5cb5a37a2a1c30f78bf97c358679f71829bc16833914e6f2ba82e9165521581
SHA512 (root-testfiles.tar.xz) = 7006c6591b587c24cf75dc4f6ed9586165b27102539fdde580d0a95853fcec7e9980a881e49e64a09f90af341a8c8fd2f493305ed88e07af144fabd438ba283e
4 years, 2 months
Architecture specific change in rpms/root.git
by githook-noreply@fedoraproject.org
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=cce2ff465c6eb...
https://src.fedoraproject.org/cgit/rpms/root.git/commit/?id=fba71390e25b3...
https://src.fedoraproject.org/cgit/rpms/root.git/commit/?id=69d6612d86751...
https://src.fedoraproject.org/cgit/rpms/root.git/commit/?id=baedd3ac92b83....
Change:
-%ifarch aarch64
-%ifarch ppc64le
-%ifarch aarch64
+%ifarch aarch64
Thanks.
Full change:
============
commit fba71390e25b305d35bd7bb28a909f03ece6da25
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Mon Mar 23 10:03:24 2020 +0100
Update to 6.20.02
Drop patches accepted upstream
root-dont-download-input-file-if-it-already-exists.patch
root-fix-plugin-definition.patch
root-man-install.patch
root-pretty-printers.patch
root-python3.patch
root-stress-aarch64-ppc64le.patch
Drop patches no longer relevant due to changes to the code
root-missing-include-string.patch
root-static-constexpr.patch
Add workaround for PyROOT issues on ppc64le in EPEL 7
root-epel7-ppc64le-pyroot.patch (patch conditionally applied)
Fix path to moved data file in tutorial
root-moved-file.patch
Split the root-roofit subpackage into four different packages
root-roofit, root-roofit-core, root-roofit-more and root-roostats
The root-roofit-more library splits out the part of roofit that depends on
the root-mathmore package
New subpackage: root-histv7
diff --git a/root-32bit-dataframe.patch b/root-32bit-dataframe.patch
index dd71ad6..e47b913 100644
--- a/root-32bit-dataframe.patch
+++ b/root-32bit-dataframe.patch
@@ -1,7 +1,7 @@
-diff -ur root-6.18.04.orig/bindings/pyroot/ROOT.py root-6.18.04/bindings/pyroot/ROOT.py
---- root-6.18.04.orig/bindings/pyroot/ROOT.py 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/ROOT.py 2020-03-13 19:58:32.330575246 +0100
-@@ -449,9 +449,7 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/ROOT.py root-6.20.02/bindings/pyroot/ROOT.py
+--- root-6.20.02.orig/bindings/pyroot/ROOT.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/ROOT.py 2020-03-15 19:50:25.303179253 +0100
+@@ -438,9 +438,7 @@
# This function is injected as method to the respective classes in Pythonize.cxx.
_root._RDataFrameAsNumpy = _RDataFrameAsNumpy
@@ -12,26 +12,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/ROOT.py root-6.18.04/bindings/pyroot/
### RINT command emulation ------------------------------------------------------
-diff -ur root-6.18.04.orig/bindings/pyroot/test/CMakeLists.txt root-6.18.04/bindings/pyroot/test/CMakeLists.txt
---- root-6.18.04.orig/bindings/pyroot/test/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/test/CMakeLists.txt 2020-03-13 19:58:32.330575246 +0100
-@@ -4,10 +4,7 @@
- ROOT_ADD_PYUNITTEST(pyroot_rvec rvec.py)
- if(NUMPY_FOUND)
- ROOT_ADD_PYUNITTEST(pyroot_array_interface array_interface.py)
-- # this excludes RDF for 32 bits builds because of clang/gcc abi issues
-- if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
-- ROOT_ADD_PYUNITTEST(pyroot_rdataframe_asnumpy rdataframe_asnumpy.py)
-- ROOT_ADD_PYUNITTEST(pyroot_ttree_asmatrix ttree_asmatrix.py)
-- endif()
-+ ROOT_ADD_PYUNITTEST(pyroot_rdataframe_asnumpy rdataframe_asnumpy.py)
-+ ROOT_ADD_PYUNITTEST(pyroot_ttree_asmatrix ttree_asmatrix.py)
- endif()
-
-diff -ur root-6.18.04.orig/build/unix/makepchinput.py root-6.18.04/build/unix/makepchinput.py
---- root-6.18.04.orig/build/unix/makepchinput.py 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/build/unix/makepchinput.py 2020-03-13 19:58:32.331575236 +0100
-@@ -263,9 +263,6 @@
+diff -ur root-6.20.02.orig/build/unix/makepchinput.py root-6.20.02/build/unix/makepchinput.py
+--- root-6.20.02.orig/build/unix/makepchinput.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/build/unix/makepchinput.py 2020-03-15 19:50:25.304179242 +0100
+@@ -252,9 +252,6 @@
"math/vdt",
"tmva/rmva"]
@@ -41,39 +25,9 @@ diff -ur root-6.18.04.orig/build/unix/makepchinput.py root-6.18.04/build/unix/ma
accepted = isAnyPatternInString(PCHPatternsWhitelist,dirName) and \
not isAnyPatternInString(PCHPatternsBlacklist,dirName)
-diff -ur root-6.18.04.orig/config/root-config.in root-6.18.04/config/root-config.in
---- root-6.18.04.orig/config/root-config.in 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/config/root-config.in 2020-03-13 20:06:39.876361426 +0100
-@@ -76,10 +76,7 @@
- -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread\
- -lMultiProc"
-
--if [ "@UNIX@" != "1" ] || [ "@CMAKE_SIZEOF_VOID_P@" != "4" ]; then
-- rootlibs="$rootlibs -lROOTDataFrame"
--fi
--
-+rootlibs="$rootlibs -lROOTDataFrame"
-
- if test "$platform" = "win32"; then
- rootulibs="-include:_G__cpp_setupG__Net \
-diff -ur root-6.18.04.orig/tree/dataframe/CMakeLists.txt root-6.18.04/tree/dataframe/CMakeLists.txt
---- root-6.18.04.orig/tree/dataframe/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/CMakeLists.txt 2020-03-13 19:58:32.332575225 +0100
-@@ -3,11 +3,6 @@
- # @author Danilo Piparo CERN, Pere Mato CERN
- ############################################################################
-
--# Disable RDataFrame on 32-bit UNIX platforms due to ROOT-9236
--if(UNIX AND CMAKE_SIZEOF_VOID_P EQUAL 4)
-- return()
--endif()
--
- if(arrow)
- list(APPEND RDATAFRAME_EXTRA_HEADERS ROOT/RArrowDS.hxx)
- list(APPEND RDATAFRAME_EXTRA_INCLUDES -I${ARROW_INCLUDE_DIR})
-diff -ur root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx root-6.18.04/tree/dataframe/test/dataframe_cache.cxx
---- root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/dataframe_cache.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/dataframe_cache.cxx root-6.20.02/tree/dataframe/test/dataframe_cache.cxx
+--- root-6.20.02.orig/tree/dataframe/test/dataframe_cache.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/dataframe_cache.cxx 2020-03-15 19:50:09.075351525 +0100
@@ -224,8 +224,6 @@
}
@@ -89,9 +43,9 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx root-6.18.04/
}
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx root-6.18.04/tree/dataframe/test/datasource_arrow.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_arrow.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_arrow.cxx root-6.20.02/tree/dataframe/test/datasource_arrow.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_arrow.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_arrow.cxx 2020-03-15 19:50:09.075351525 +0100
@@ -163,8 +163,6 @@
}
#endif
@@ -107,10 +61,10 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx root-6.18.04
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx root-6.18.04/tree/dataframe/test/datasource_csv.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_csv.cxx 2020-03-13 20:26:14.841831219 +0100
-@@ -193,8 +193,6 @@
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_csv.cxx root-6.20.02/tree/dataframe/test/datasource_csv.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_csv.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_csv.cxx 2020-03-15 19:57:05.490930922 +0100
+@@ -195,8 +195,6 @@
}
#endif
@@ -119,15 +73,15 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx root-6.18.04/t
TEST(RCsvDS, FromARDF)
{
std::unique_ptr<RDataSource> tds(new RCsvDS(fileName0));
-@@ -290,5 +288,3 @@
+@@ -292,5 +290,3 @@
}
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx root-6.18.04/tree/dataframe/test/datasource_root.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_root.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_root.cxx root-6.20.02/tree/dataframe/test/datasource_root.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_root.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_root.cxx 2020-03-15 19:50:09.076351514 +0100
@@ -117,8 +117,6 @@
}
#endif
@@ -143,9 +97,9 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx root-6.18.04/
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx root-6.18.04/tree/dataframe/test/datasource_trivial.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_trivial.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_trivial.cxx root-6.20.02/tree/dataframe/test/datasource_trivial.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_trivial.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_trivial.cxx 2020-03-15 19:50:09.076351514 +0100
@@ -132,8 +132,6 @@
EXPECT_EQ(*tdfAll.Count(), 20ULL);
}
@@ -161,11 +115,11 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx root-6.18.
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tutorials/CMakeLists.txt root-6.18.04/tutorials/CMakeLists.txt
---- root-6.18.04.orig/tutorials/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tutorials/CMakeLists.txt 2020-03-13 19:58:32.333575214 +0100
-@@ -212,10 +212,6 @@
- v7/ntuple/ntpl004_dimuon.C)
+diff -ur root-6.20.02.orig/tutorials/CMakeLists.txt root-6.20.02/tutorials/CMakeLists.txt
+--- root-6.20.02.orig/tutorials/CMakeLists.txt 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tutorials/CMakeLists.txt 2020-03-15 19:59:35.808335176 +0100
+@@ -255,10 +255,6 @@
+ set(root7_veto v7/ntuple/ntpl004_dimuon.C)
endif()
-if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
@@ -174,26 +128,20 @@ diff -ur root-6.18.04.orig/tutorials/CMakeLists.txt root-6.18.04/tutorials/CMake
-
#---These ones are disabled !!! ------------------------------------
set(extra_veto
- htmlex.C
-@@ -266,7 +262,6 @@
+ legacy/benchmarks.C
+@@ -311,7 +307,6 @@
${classic_veto}
${pythia_veto}
${root7_veto}
- ${bits32_veto}
${xrootd_veto}
- )
-
-@@ -424,13 +419,6 @@
-
+ ${mlp_veto}
+ ${spectrum_veto}
+@@ -513,7 +508,6 @@
list(REMOVE_ITEM pytutorials ${pyveto})
-- if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
-- set(bits32_veto_py dataframe/*.py)
-- file(GLOB bits32_veto_py RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} dataframe/*.py)
-- list(REMOVE_ITEM pytutorials ${bits32_veto_py})
-- list(REMOVE_ITEM pytutorials pyroot/pyroot002_TTreeAsMatrix.py)
-- endif()
--
- #---Python tutorials dependencies--------------------------------------
- set(pyroot-ntuple1-depends tutorial-pyroot-hsimple-py)
- set(pyroot-h1draw-depends tutorial-pyroot-hsimple-py)
+ if(NOT dataframe)
+- set(dataframe_veto_py dataframe/*.py)
+ file(GLOB dataframe_veto_py RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} dataframe/*.py tmva/tmva*.py)
+ list(REMOVE_ITEM pytutorials ${dataframe_veto_py})
+ list(REMOVE_ITEM pytutorials pyroot/pyroot002_TTreeAsMatrix.py)
diff --git a/root-doc-no-notebooks.patch b/root-doc-no-notebooks.patch
index 23ca293..f94d31f 100644
--- a/root-doc-no-notebooks.patch
+++ b/root-doc-no-notebooks.patch
@@ -1,6 +1,7 @@
---- root-6.16.00.orig/documentation/doxygen/filter.cxx 2019-02-14 14:44:47.132678348 +0100
-+++ root-6.16.00/documentation/doxygen/filter.cxx 2019-02-14 14:45:00.596532589 +0100
-@@ -367,16 +367,7 @@
+diff -ur root-6.20.02.orig/documentation/doxygen/filter.cxx root-6.20.02/documentation/doxygen/filter.cxx
+--- root-6.20.02.orig/documentation/doxygen/filter.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/documentation/doxygen/filter.cxx 2020-03-15 20:05:59.047270429 +0100
+@@ -378,16 +378,7 @@
// notebook found
if (gLineString.find("\\notebook") != string::npos) {
@@ -13,7 +14,7 @@
- else{
- gLineString = "/// ";
- }
-- gLineString += StringFormat( "\\htmlonly <a href=\"http://nbviewer.jupyter.org/url/root.cern.ch/doc/master/notebooks/%s.nbco..." target=\"_blank\"><img src= notebook.gif alt=\"View in nbviewer\" style=\"height:1em\" ></a> <a href=\"https://cern.ch/swanserver/cgi-bin/go?projurl=https://root.cern.ch/doc/ma..." target=\"_blank\"><img src=\"http://swanserver.web.cern.ch/swanserver/images/badge_swan_white_150.png\" alt=\"Open in SWAN\" style=\"height:1em\" ></a> \\endhtmlonly \n", gMacroName.c_str() , gMacroName.c_str());
+- gLineString += StringFormat( "\\htmlonly <a href=\"https://nbviewer.jupyter.org/url/root.cern/doc/master/notebooks/%s.nbconv..." target=\"_blank\"><img src= notebook.gif alt=\"View in nbviewer\" style=\"height:1em\" ></a> <a href=\"https://cern.ch/swanserver/cgi-bin/go?projurl=https://root.cern/doc/maste..." target=\"_blank\"><img src=\"https://swanserver.web.cern.ch/swanserver/images/badge_swan_white_150.png\" alt=\"Open in SWAN\" style=\"height:1em\" ></a> \\endhtmlonly \n", gMacroName.c_str() , gMacroName.c_str());
+ gLineString = "";
}
diff --git a/root-dont-download-input-file-if-it-already-exists.patch b/root-dont-download-input-file-if-it-already-exists.patch
deleted file mode 100644
index 78557b2..0000000
--- a/root-dont-download-input-file-if-it-already-exists.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 3207d634576d48462b41b4aec0e9198293aa4a9f Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Fri, 28 Jun 2019 09:23:19 +0200
-Subject: [PATCH] Don't download input file if it already exists This allows
- running the tests with pre-fetched file in environments without network -
- like e.g. the Fedora package build server
-
----
- tutorials/dataframe/df014_CSVDataSource.C | 3 ++-
- tutorials/dataframe/df014_CSVDataSource.py | 4 +++-
- tutorials/dataframe/df015_LazyDataSource.C | 3 ++-
- 3 files changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/tutorials/dataframe/df014_CSVDataSource.C b/tutorials/dataframe/df014_CSVDataSource.C
-index 18a6a5afaf..9f1b69688a 100644
---- a/tutorials/dataframe/df014_CSVDataSource.C
-+++ b/tutorials/dataframe/df014_CSVDataSource.C
-@@ -23,7 +23,8 @@ int df014_CSVDataSource()
- // The types of the columns will be automatically inferred.
- auto fileNameUrl = "http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv";
- auto fileName = "df014_CsvDataSource_MuRun2010B_cpp.csv";
-- TFile::Cp(fileNameUrl, fileName);
-+ if(gSystem->AccessPathName(fileName))
-+ TFile::Cp(fileNameUrl, fileName);
- auto tdf = ROOT::RDF::MakeCsvDataFrame(fileName);
-
- // Now we will apply a first filter based on two columns of the CSV,
-diff --git a/tutorials/dataframe/df014_CSVDataSource.py b/tutorials/dataframe/df014_CSVDataSource.py
-index dd4823d62f..a8668f5e49 100644
---- a/tutorials/dataframe/df014_CSVDataSource.py
-+++ b/tutorials/dataframe/df014_CSVDataSource.py
-@@ -18,12 +18,14 @@
- ## \author Enric Tejedor
-
- import ROOT
-+import os
-
- # Let's first create a RDF that will read from the CSV file.
- # The types of the columns will be automatically inferred.
- fileNameUrl = "http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv"
- fileName = "df014_CsvDataSource_MuRun2010B_py.csv"
--ROOT.TFile.Cp(fileNameUrl, fileName)
-+if not os.path.isfile(fileName):
-+ ROOT.TFile.Cp(fileNameUrl, fileName)
-
- MakeCsvDataFrame = ROOT.ROOT.RDF.MakeCsvDataFrame
- tdf = MakeCsvDataFrame(fileName)
-diff --git a/tutorials/dataframe/df015_LazyDataSource.C b/tutorials/dataframe/df015_LazyDataSource.C
-index fc5567b5bd..f8623ddce4 100644
---- a/tutorials/dataframe/df015_LazyDataSource.C
-+++ b/tutorials/dataframe/df015_LazyDataSource.C
-@@ -25,7 +25,8 @@ int df015_LazyDataSource()
- // See the tutorial relative to CSV data sources for more details!
- auto fileNameUrl = "http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv";
- auto fileName = "df015_CsvDataSource_MuRun2010B.csv";
-- TFile::Cp(fileNameUrl, fileName);
-+ if(gSystem->AccessPathName(fileName))
-+ TFile::Cp(fileNameUrl, fileName);
-
- auto csv_rdf = MakeCsvDataFrame(fileName);
-
---
-2.21.0
-
diff --git a/root-epel7-ppc64le-pyroot.patch b/root-epel7-ppc64le-pyroot.patch
new file mode 100644
index 0000000..2d9c400
--- /dev/null
+++ b/root-epel7-ppc64le-pyroot.patch
@@ -0,0 +1,23 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/Cppyy.cxx root-6.20.02/bindings/pyroot/src/Cppyy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/Cppyy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/Cppyy.cxx 2020-03-21 14:10:09.322489811 +0100
+@@ -74,10 +74,6 @@
+ class ApplicationStarter {
+ public:
+ ApplicationStarter() {
+- // Insure ROOT's atexit is executed *after* the atexit that calls
+- // ApplicationStarter's destructor, by forcing the ROOT's atexit
+- // registration now.
+- TROOT::Initialize();
+ // setup dummy holders for global and std namespaces
+ assert( g_classrefs.size() == GLOBAL_HANDLE );
+ g_name2classrefidx[ "" ] = GLOBAL_HANDLE;
+@@ -90,8 +86,6 @@
+ }
+
+ ~ApplicationStarter() {
+- for ( auto ifunc : g_method2callfunc )
+- gInterpreter->CallFunc_Delete( ifunc.second );
+ }
+ } _applicationStarter;
+
diff --git a/root-fix-plugin-definition.patch b/root-fix-plugin-definition.patch
deleted file mode 100644
index 3f3d3d5..0000000
--- a/root-fix-plugin-definition.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 444b03b6e3ce0554f687443a42310fe01fba276c Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Thu, 27 Jun 2019 18:24:58 +0200
-Subject: [PATCH 2/2] Use the correct library name in the plugin definitions
-
----
- etc/plugins/TFile/P090_TSQLFile.C | 4 ++--
- etc/plugins/TFileStager/P010_TXNetFileStager.C | 2 +-
- etc/plugins/TGuiFactory/P030_TWebGuiFactory.C | 2 +-
- etc/plugins/TImagePlugin/P010_TASPluginGS.C | 6 +++---
- etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C | 2 +-
- etc/plugins/TVirtualX/P060_TWebVirtualX.C | 2 +-
- 6 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/etc/plugins/TFile/P090_TSQLFile.C b/etc/plugins/TFile/P090_TSQLFile.C
-index bc006053d4..a6441ffbef 100644
---- a/etc/plugins/TFile/P090_TSQLFile.C
-+++ b/etc/plugins/TFile/P090_TSQLFile.C
-@@ -1,7 +1,7 @@
- void P090_TSQLFile()
- {
- gPluginMgr->AddHandler("TFile", "^mysql:", "TSQLFile",
-- "SQL", "TSQLFile(const char*,Option_t*,const char*,const char*)");
-+ "SQLIO", "TSQLFile(const char*,Option_t*,const char*,const char*)");
- gPluginMgr->AddHandler("TFile", "^oracle:", "TSQLFile",
-- "SQL", "TSQLFile(const char*,Option_t*,const char*,const char*)");
-+ "SQLIO", "TSQLFile(const char*,Option_t*,const char*,const char*)");
- }
-diff --git a/etc/plugins/TFileStager/P010_TXNetFileStager.C b/etc/plugins/TFileStager/P010_TXNetFileStager.C
-index 884ce7e103..66cd8d575e 100644
---- a/etc/plugins/TFileStager/P010_TXNetFileStager.C
-+++ b/etc/plugins/TFileStager/P010_TXNetFileStager.C
-@@ -2,7 +2,7 @@ void P010_TXNetFileStager()
- {
- if (!gEnv->GetValue("XNet.UseOldClient", 0)) {
- gPluginMgr->AddHandler("TFileStager", "^[x]?root:", "TNetXNGFileStager",
-- "NetXNG", "TNetXNGFileStager(const char *)");
-+ "NetxNG", "TNetXNGFileStager(const char *)");
- } else {
- gPluginMgr->AddHandler("TFileStager", "^[x]?root:", "TXNetFileStager",
- "Netx", "TXNetFileStager(const char *)");
-diff --git a/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C b/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C
-index 873ba03ebd..fe83cf06e1 100644
---- a/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C
-+++ b/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C
-@@ -1,4 +1,4 @@
- void P030_TWebGuiFactory()
- {
-- gPluginMgr->AddHandler("TGuiFactory", "web", "TWebGuiFactory", "WebGui", "TWebGuiFactory()");
-+ gPluginMgr->AddHandler("TGuiFactory", "web", "TWebGuiFactory", "WebGui6", "TWebGuiFactory()");
- }
-diff --git a/etc/plugins/TImagePlugin/P010_TASPluginGS.C b/etc/plugins/TImagePlugin/P010_TASPluginGS.C
-index c2e3e45c1a..9e401e74f1 100644
---- a/etc/plugins/TImagePlugin/P010_TASPluginGS.C
-+++ b/etc/plugins/TImagePlugin/P010_TASPluginGS.C
-@@ -1,9 +1,9 @@
- void P010_TASPluginGS()
- {
- gPluginMgr->AddHandler("TImagePlugin", "ps", "TASPluginGS",
-- "ASPluginGS", "TASPluginGS(const char*)");
-+ "ASImage", "TASPluginGS(const char*)");
- gPluginMgr->AddHandler("TImagePlugin", "eps", "TASPluginGS",
-- "ASPluginGS", "TASPluginGS(const char*)");
-+ "ASImage", "TASPluginGS(const char*)");
- gPluginMgr->AddHandler("TImagePlugin", "pdf", "TASPluginGS",
-- "ASPluginGS", "TASPluginGS(const char*)");
-+ "ASImage", "TASPluginGS(const char*)");
- }
-diff --git a/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C b/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C
-index 2a919023f9..f1be760487 100644
---- a/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C
-+++ b/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C
-@@ -1,5 +1,5 @@
- void P010_TGraphPainter()
- {
- gPluginMgr->AddHandler("TVirtualGraphPainter", "*", "TGraphPainter",
-- "GraphPainter", "TGraphPainter()");
-+ "HistPainter", "TGraphPainter()");
- }
-diff --git a/etc/plugins/TVirtualX/P060_TWebVirtualX.C b/etc/plugins/TVirtualX/P060_TWebVirtualX.C
-index e624c34e7b..26f9650e94 100644
---- a/etc/plugins/TVirtualX/P060_TWebVirtualX.C
-+++ b/etc/plugins/TVirtualX/P060_TWebVirtualX.C
-@@ -1,4 +1,4 @@
- void P060_TWebVirtualX()
- {
-- gPluginMgr->AddHandler("TVirtualX", "web", "TWebVirtualX", "WebGui", "TWebVirtualX(const char*,const char*)");
-+ gPluginMgr->AddHandler("TVirtualX", "web", "TWebVirtualX", "WebGui6", "TWebVirtualX(const char*,const char*)");
- }
---
-2.21.0
-
diff --git a/root-jupyroot-static.patch b/root-jupyroot-static.patch
index bb8e721..2cdb5aa 100644
--- a/root-jupyroot-static.patch
+++ b/root-jupyroot-static.patch
@@ -1,6 +1,6 @@
-diff -ur root-6.18.00.orig/bindings/pyroot/JsMVA/JPyInterface.py root-6.18.00/bindings/pyroot/JsMVA/JPyInterface.py
---- root-6.18.00.orig/bindings/pyroot/JsMVA/JPyInterface.py 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/bindings/pyroot/JsMVA/JPyInterface.py 2019-06-28 22:54:03.937480738 +0200
+diff -ur root-6.20.02.orig/bindings/pyroot/JsMVA/JPyInterface.py root-6.20.02/bindings/pyroot/JsMVA/JPyInterface.py
+--- root-6.20.02.orig/bindings/pyroot/JsMVA/JPyInterface.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/JsMVA/JPyInterface.py 2020-03-15 20:07:18.921423559 +0100
@@ -188,7 +188,7 @@
## Class for creating the output scripts and inserting them to cell output
class JsDraw:
@@ -10,21 +10,21 @@ diff -ur root-6.18.00.orig/bindings/pyroot/JsMVA/JPyInterface.py root-6.18.00/bi
## String containing the link to JavaScript files
__jsMVASourceDir = __jsMVARepo + "/js"
-diff -ur root-6.18.00.orig/bindings/pyroot/JupyROOT/helpers/utils.py root-6.18.00/bindings/pyroot/JupyROOT/helpers/utils.py
---- root-6.18.00.orig/bindings/pyroot/JupyROOT/helpers/utils.py 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/bindings/pyroot/JupyROOT/helpers/utils.py 2019-06-28 22:54:03.938480727 +0200
-@@ -39,7 +39,7 @@
- _jsNotDrawableClassesPatterns = ["TEve*","TF3","TPolyLine3D"]
-
-
--_jsROOTSourceDir = "https://root.cern.ch/js/notebook/"
-+_jsROOTSourceDir = "/static/jsroot/"
- _jsCanvasWidth = 800
- _jsCanvasHeight = 600
-
-diff -ur root-6.18.00.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.18.00/etc/notebook/JsMVA/js/JsMVA.js
---- root-6.18.00.orig/etc/notebook/JsMVA/js/JsMVA.js 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/etc/notebook/JsMVA/js/JsMVA.js 2019-06-28 22:54:03.938480727 +0200
+diff -ur root-6.20.02.orig/bindings/pyroot/JupyROOT/helpers/utils.py root-6.20.02/bindings/pyroot/JupyROOT/helpers/utils.py
+--- root-6.20.02.orig/bindings/pyroot/JupyROOT/helpers/utils.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/JupyROOT/helpers/utils.py 2020-03-15 20:07:18.921423559 +0100
+@@ -82,7 +82,7 @@
+ function requirejs_success(base_url) {{
+ return function() {{
+ require.config({{
+- baseUrl: base_url + 'static/'
++ baseUrl: base_url + 'static/jsroot/'
+ }});
+ display_{jsDivId}();
+ }}
+diff -ur root-6.20.02.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.20.02/etc/notebook/JsMVA/js/JsMVA.js
+--- root-6.20.02.orig/etc/notebook/JsMVA/js/JsMVA.js 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/etc/notebook/JsMVA/js/JsMVA.js 2020-03-15 20:07:18.922423549 +0100
@@ -16,7 +16,7 @@
(function(factory){
@@ -34,14 +34,14 @@ diff -ur root-6.18.00.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.18.00/etc/noteb
var url = "";
if (requirejs.s.contexts.hasOwnProperty("_")) {
-diff -ur root-6.18.00.orig/etc/notebook/JsMVA/js/NetworkDesigner.js root-6.18.00/etc/notebook/JsMVA/js/NetworkDesigner.js
---- root-6.18.00.orig/etc/notebook/JsMVA/js/NetworkDesigner.js 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/etc/notebook/JsMVA/js/NetworkDesigner.js 2019-06-29 07:08:46.582682582 +0200
+diff -ur root-6.20.02.orig/etc/notebook/JsMVA/js/NetworkDesigner.js root-6.20.02/etc/notebook/JsMVA/js/NetworkDesigner.js
+--- root-6.20.02.orig/etc/notebook/JsMVA/js/NetworkDesigner.js 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/etc/notebook/JsMVA/js/NetworkDesigner.js 2020-03-15 20:07:18.922423549 +0100
@@ -19,7 +19,7 @@
paths: {
"jquery-connections": baseURL + "jquery.connections.min",
"jquery-timing": baseURL + "jquery-timing.min",
-- "d3": "https://root.cern.ch/js/notebook/scripts/d3.min"
+- "d3": "/static/scripts/d3.min"
+ "d3": "/static/jsroot/scripts/d3.min"
},
shim: {
diff --git a/root-man-install.patch b/root-man-install.patch
deleted file mode 100644
index b5d54e1..0000000
--- a/root-man-install.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 3f1e65654ddec561e5161d0f62367497d16aa223 Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Thu, 27 Jun 2019 18:22:13 +0200
-Subject: [PATCH 1/2] Install generated man pages in the correct subdirectory
- (man/man1)
-
----
- cmake/modules/RootNewMacros.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/modules/RootNewMacros.cmake b/cmake/modules/RootNewMacros.cmake
-index 0780ea5a5a..58e403a249 100644
---- a/cmake/modules/RootNewMacros.cmake
-+++ b/cmake/modules/RootNewMacros.cmake
-@@ -1540,5 +1540,5 @@ function(generateManual name input output)
- ${PYTHON_EXECUTABLE} -B ${CMAKE_SOURCE_DIR}/build/misc/argparse2help.py ${input} ${output}
- )
-
-- install(FILES ${output} DESTINATION ${CMAKE_INSTALL_MANDIR})
-+ install(FILES ${output} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
- endfunction()
---
-2.21.0
-
diff --git a/root-memory-arm-x86.patch b/root-memory-arm-x86.patch
index 54c4149..2de8e36 100644
--- a/root-memory-arm-x86.patch
+++ b/root-memory-arm-x86.patch
@@ -6,8 +6,8 @@
+# Reduce memory usage during linking on ARM and x86 by generating minimal debuginfo
+if(ROOT_ARCHITECTURE STREQUAL "linuxarm" OR ROOT_ARCHITECTURE STREQUAL "linux")
-+ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-+ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}")
++ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
++ string(REPLACE " -g " " -g1 " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+endif()
+
set(LLVM_TARGETS_TO_BUILD ${ROOT_CLING_TARGET} CACHE STRING "Semicolon-separated list of targets to build, or \"all\".")
diff --git a/root-missing-include-string.patch b/root-missing-include-string.patch
deleted file mode 100644
index f870e14..0000000
--- a/root-missing-include-string.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx
---- root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2020-01-23 11:27:58.637463837 +0100
-@@ -17,6 +17,7 @@
- #define ROOT7_RColor
-
- #include <array>
-+#include <string>
- #include <vector>
-
- namespace ROOT {
diff --git a/root-moved-file.patch b/root-moved-file.patch
new file mode 100644
index 0000000..948a78b
--- /dev/null
+++ b/root-moved-file.patch
@@ -0,0 +1,27 @@
+From 6492170d74f464286de22c40554adbd400ec838b Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Fri, 13 Mar 2020 12:53:34 +0100
+Subject: [PATCH] The file was moved - update path
+
+---
+ tutorials/legacy/mlp/mlpHiggs.C | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tutorials/legacy/mlp/mlpHiggs.C b/tutorials/legacy/mlp/mlpHiggs.C
+index 49d3ca2b30..0516ed7c50 100644
+--- a/tutorials/legacy/mlp/mlpHiggs.C
++++ b/tutorials/legacy/mlp/mlpHiggs.C
+@@ -18,8 +18,8 @@ void mlpHiggs(Int_t ntrain=100) {
+ TFile *input = 0;
+ if (!gSystem->AccessPathName(fname)) {
+ input = TFile::Open(fname);
+- } else if (!gSystem->AccessPathName(Form("%s/mlp/%s", TROOT::GetTutorialDir().Data(), fname))) {
+- input = TFile::Open(Form("%s/mlp/%s", TROOT::GetTutorialDir().Data(), fname));
++ } else if (!gSystem->AccessPathName(Form("%s/legacy/mlp/%s", TROOT::GetTutorialDir().Data(), fname))) {
++ input = TFile::Open(Form("%s/legacy/mlp/%s", TROOT::GetTutorialDir().Data(), fname));
+ } else {
+ printf("accessing %s file from http://root.cern.ch/files\n",fname);
+ input = TFile::Open(Form("http://root.cern.ch/files/%s",fname));
+--
+2.24.1
+
diff --git a/root-pretty-printers.patch b/root-pretty-printers.patch
deleted file mode 100644
index 4ded487..0000000
--- a/root-pretty-printers.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 88f6e1b332489582f457d17afd6a2a6f6a4f988d Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Mon, 1 Jul 2019 08:56:27 +0200
-Subject: [PATCH] Install GDB pretty printers with correct filename when using
- soversion
-
-The name of the pretty printer script must match the name of the
-binary, not a symlink. When soversion is used the unversioned .so file
-is a symlink to the versioned library file.
----
- build/CMakeLists.txt | 23 +++++++++++++++++------
- 1 file changed, 17 insertions(+), 6 deletions(-)
-
-diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt
-index b84481041b..03644b6c00 100644
---- a/build/CMakeLists.txt
-+++ b/build/CMakeLists.txt
-@@ -20,12 +20,23 @@ ROOT_EXECUTABLE(rmkdepend
- )
-
- IF(CMAKE_BUILD_TYPE MATCHES "Debug|RelWithDebInfo")
-- file(COPY "gdbPrinters/"
-- DESTINATION ${CMAKE_BINARY_DIR}/lib
-- FILES_MATCHING PATTERN "*-gdb.py")
-+ file(GLOB PRETTY_PRINTERS "gdbPrinters/*.so-gdb.py")
-+ set(PRETTY_PRINTER_DESTS)
-+ foreach(PRETTY_PRINTER ${PRETTY_PRINTERS})
-+ get_filename_component(PRETTY_PRINTER_DEST ${PRETTY_PRINTER} NAME)
-+ if(soversion)
-+ string(REPLACE ".so-gdb.py" ".so.${ROOT_VERSION}-gdb.py"
-+ PRETTY_PRINTER_DEST ${PRETTY_PRINTER_DEST})
-+ endif(soversion)
-+ set(PRETTY_PRINTER_DEST ${CMAKE_BINARY_DIR}/lib/${PRETTY_PRINTER_DEST})
-+ add_custom_command(OUTPUT ${PRETTY_PRINTER_DEST}
-+ COMMAND ${CMAKE_COMMAND} -E copy ${PRETTY_PRINTER} ${PRETTY_PRINTER_DEST}
-+ DEPENDS ${PRETTY_PRINTER})
-+ list(APPEND PRETTY_PRINTER_DESTS ${PRETTY_PRINTER_DEST})
-+ endforeach()
-+ add_custom_target(copy_pretty_printers ALL DEPENDS ${PRETTY_PRINTER_DESTS})
-
-- file(GLOB PRETTY_PRINTERS "gdbPrinters/*-gdb.py")
-- install(FILES ${PRETTY_PRINTERS}
-- DESTINATION lib
-+ install(FILES ${PRETTY_PRINTER_DESTS}
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
- CONFIGURATIONS Debug RelWithDebInfo)
- ENDIF()
---
-2.21.0
-
diff --git a/root-python3.8-object.patch b/root-python3.8-object.patch
index ed4ef9f..2447e31 100644
--- a/root-python3.8-object.patch
+++ b/root-python3.8-object.patch
@@ -1,7 +1,7 @@
-diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bindings/pyroot/src/MethodProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/MethodProxy.cxx 2020-03-13 16:46:56.538971601 +0100
-@@ -839,7 +839,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/MethodProxy.cxx root-6.20.02/bindings/pyroot/src/MethodProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/MethodProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/MethodProxy.cxx 2020-03-15 19:43:20.946684699 +0100
+@@ -845,7 +845,8 @@
sizeof(MethodProxy), // tp_basicsize
0, // tp_itemsize
(destructor)mp_dealloc, // tp_dealloc
@@ -11,7 +11,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bind
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -888,6 +889,12 @@
+@@ -894,6 +895,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -24,10 +24,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bind
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bindings/pyroot/src/ObjectProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/ObjectProxy.cxx 2020-03-13 16:46:56.539971591 +0100
-@@ -397,7 +397,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.20.02/bindings/pyroot/src/ObjectProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/ObjectProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/ObjectProxy.cxx 2020-03-15 19:43:20.946684699 +0100
+@@ -398,7 +398,8 @@
sizeof(ObjectProxy), // tp_basicsize
0, // tp_itemsize
(destructor)op_dealloc, // tp_dealloc
@@ -37,7 +37,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bind
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -449,6 +450,12 @@
+@@ -450,6 +451,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -50,9 +50,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bind
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.18.04/bindings/pyroot/src/PropertyProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/PropertyProxy.cxx 2020-03-13 16:46:56.539971591 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.20.02/bindings/pyroot/src/PropertyProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/PropertyProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/PropertyProxy.cxx 2020-03-15 19:43:20.946684699 +0100
@@ -133,7 +133,8 @@
sizeof(PropertyProxy), // tp_basicsize
0, // tp_itemsize
@@ -76,10 +76,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.18.04/bi
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindings/pyroot/src/PyRootType.cxx
---- root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/PyRootType.cxx 2020-03-13 16:46:56.539971591 +0100
-@@ -230,7 +230,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/PyRootType.cxx root-6.20.02/bindings/pyroot/src/PyRootType.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/PyRootType.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/PyRootType.cxx 2020-03-15 19:43:20.946684699 +0100
+@@ -232,7 +232,8 @@
sizeof(PyROOT::PyRootClass),// tp_basicsize
0, // tp_itemsize
0, // tp_dealloc
@@ -89,7 +89,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindi
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -279,6 +280,12 @@
+@@ -281,6 +282,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -102,9 +102,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindi
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx root-6.18.04/bindings/pyroot/src/Pythonize.cxx
---- root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/Pythonize.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/Pythonize.cxx root-6.20.02/bindings/pyroot/src/Pythonize.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/Pythonize.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/Pythonize.cxx 2020-03-15 19:43:20.947684688 +0100
@@ -944,6 +944,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
@@ -118,9 +118,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx root-6.18.04/bindin
};
static PyObject* vector_iter( PyObject* v ) {
-diff -ur root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx root-6.18.04/bindings/pyroot/src/RootModule.cxx
---- root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/RootModule.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/RootModule.cxx root-6.20.02/bindings/pyroot/src/RootModule.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/RootModule.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/RootModule.cxx 2020-03-15 19:43:20.948684678 +0100
@@ -134,6 +134,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
@@ -134,9 +134,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx root-6.18.04/bindi
};
PyObject _PyROOT_NullPtrStruct = {
-diff -ur root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.18.04/bindings/pyroot/src/TCustomPyTypes.cxx
---- root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.20.02/bindings/pyroot/src/TCustomPyTypes.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-15 19:43:20.948684678 +0100
@@ -19,7 +19,8 @@
0, // tp_basicsize
0, // tp_itemsize
@@ -206,10 +206,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.18.04/b
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bindings/pyroot/src/TemplateProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/TemplateProxy.cxx 2020-03-13 16:46:56.541971570 +0100
-@@ -395,7 +395,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.20.02/bindings/pyroot/src/TemplateProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/TemplateProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/TemplateProxy.cxx 2020-03-15 19:43:20.948684678 +0100
+@@ -492,7 +492,8 @@
sizeof(TemplateProxy), // tp_basicsize
0, // tp_itemsize
(destructor)tpp_dealloc, // tp_dealloc
@@ -219,7 +219,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bi
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -444,6 +445,12 @@
+@@ -541,6 +542,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -232,9 +232,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bi
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.18.04/bindings/pyroot/src/TTupleOfInstances.cxx
---- root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.20.02/bindings/pyroot/src/TTupleOfInstances.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-15 19:43:20.948684678 +0100
@@ -42,7 +42,8 @@
0, // tp_basicsize
0, // tp_itemsize
@@ -258,10 +258,25 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.18.0
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-13 16:47:15.029777701 +0100
-@@ -168,7 +168,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt 2020-03-15 19:43:20.949684667 +0100
+@@ -64,11 +64,6 @@
+ target_compile_options(cppyy PRIVATE -Wno-deprecated-register)
+ endif()
+
+-# Disables warnings due to new field tp_vectorcall in Python 3.8
+-if(NOT MSVC AND ${PYTHON_VERSION_STRING} VERSION_GREATER_EQUAL "3.8")
+- target_compile_options(cppyy PRIVATE -Wno-missing-field-initializers)
+-endif()
+-
+ target_include_directories(cppyy PRIVATE ${CMAKE_BINARY_DIR}/include) # needed for string_view backport
+
+ target_include_directories(cppyy PUBLIC ${PYTHON_INCLUDE_DIRS}
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-15 19:43:20.949684667 +0100
+@@ -167,7 +167,8 @@
sizeof(CPPDataMember), // tp_basicsize
0, // tp_itemsize
(destructor)pp_dealloc, // tp_dealloc
@@ -271,7 +286,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDa
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -217,6 +218,12 @@
+@@ -216,6 +217,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -284,10 +299,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDa
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-13 16:47:15.029777701 +0100
-@@ -385,7 +385,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-15 19:43:20.949684667 +0100
+@@ -565,7 +565,8 @@
sizeof(CPPInstance), // tp_basicsize
0, // tp_itemsize
(destructor)op_dealloc, // tp_dealloc
@@ -297,7 +312,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPIn
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -437,6 +438,12 @@
+@@ -617,6 +618,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -310,10 +325,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPIn
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-13 16:47:15.030777691 +0100
-@@ -813,7 +813,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-15 19:43:20.950684656 +0100
+@@ -889,7 +889,8 @@
sizeof(CPPOverload), // tp_basicsize
0, // tp_itemsize
(destructor)mp_dealloc, // tp_dealloc
@@ -323,7 +338,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOv
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -862,6 +863,12 @@
+@@ -938,6 +939,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -336,10 +351,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOv
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-13 16:47:15.030777691 +0100
-@@ -424,7 +424,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-15 19:43:20.950684656 +0100
+@@ -596,7 +596,8 @@
sizeof(CPyCppyy::CPPScope), // tp_basicsize
0, // tp_itemsize
0, // tp_dealloc
@@ -349,7 +364,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPSc
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -473,6 +474,12 @@
+@@ -649,6 +650,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -362,9 +377,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPSc
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-13 16:47:15.030777691 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-15 19:43:20.951684646 +0100
@@ -140,6 +140,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
@@ -378,10 +393,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCp
};
namespace {
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-13 16:57:57.529034828 +0100
-@@ -32,6 +32,12 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-15 19:43:20.951684646 +0100
+@@ -33,6 +33,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -394,7 +409,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
//= long type allowed for reference passing ==================================
-@@ -54,6 +60,12 @@
+@@ -59,6 +65,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -406,8 +421,21 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
+#endif
};
+ //- custom type representing typedef to pointer of class ---------------------
+@@ -89,6 +101,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
//= instancemethod object with a more efficient call function ================
-@@ -219,6 +231,12 @@
+@@ -254,6 +272,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -420,7 +448,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
-@@ -269,6 +287,12 @@
+@@ -304,6 +328,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -433,7 +461,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
-@@ -320,6 +344,12 @@
+@@ -355,6 +385,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -446,10 +474,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-13 16:47:15.031777680 +0100
-@@ -657,7 +657,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-15 19:43:20.951684646 +0100
+@@ -651,7 +651,8 @@
sizeof(CPyCppyy::LowLevelView),// tp_basicsize
0, // tp_itemsize
(destructor)ll_dealloc, // tp_dealloc
@@ -459,7 +487,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLe
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -707,6 +708,12 @@
+@@ -701,6 +702,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -472,10 +500,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLe
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-13 16:47:15.032777670 +0100
-@@ -515,7 +515,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-15 19:43:20.952684635 +0100
+@@ -709,7 +709,8 @@
sizeof(TemplateProxy), // tp_basicsize
0, // tp_itemsize
(destructor)tpp_dealloc, // tp_dealloc
@@ -485,7 +513,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Templ
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -564,6 +565,12 @@
+@@ -758,6 +759,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -498,10 +526,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Templ
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-13 16:47:15.032777670 +0100
-@@ -79,6 +79,12 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-15 19:43:20.952684635 +0100
+@@ -82,6 +82,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -514,7 +542,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Tuple
};
-@@ -152,7 +158,8 @@
+@@ -161,7 +167,8 @@
0, // tp_basicsize
0, // tp_itemsize
0, // tp_dealloc
@@ -524,7 +552,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Tuple
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -202,6 +209,12 @@
+@@ -211,6 +218,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
diff --git a/root-python3.patch b/root-python3.patch
deleted file mode 100644
index e1cda30..0000000
--- a/root-python3.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 4cf9170f308934688e7f767086589cd8cc0a0a85 Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Fri, 28 Jun 2019 22:23:49 +0200
-Subject: [PATCH] Python 3 compatibility
-
----
- tutorials/histfactory/example.py | 2 +-
- tutorials/pyroot/mrt.py | 20 ++++++++++----------
- 2 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/tutorials/histfactory/example.py b/tutorials/histfactory/example.py
-index 91e1d26939..6ccf3bb350 100755
---- a/tutorials/histfactory/example.py
-+++ b/tutorials/histfactory/example.py
-@@ -12,7 +12,7 @@ def main():
- try:
- import ROOT
- except:
-- print "It seems that pyROOT isn't properly configured"
-+ print("It seems that pyROOT isn't properly configured")
- return
-
- """
-diff --git a/tutorials/pyroot/mrt.py b/tutorials/pyroot/mrt.py
-index b3a8c0d719..17a73f6881 100644
---- a/tutorials/pyroot/mrt.py
-+++ b/tutorials/pyroot/mrt.py
-@@ -10,28 +10,28 @@
- ##
- ## \author Wim Lavrijsen
-
--import sys, string, os
--from ROOT import TFile, TNtuple
-+import sys, os
-+from ROOT import TFile, TNtuple, TROOT
-
-
--ifn = os.path.expandvars("${ROOTSYS}/tutorials/pyroot/aptuple.txt")
-+ifn = os.path.join(str(TROOT.GetTutorialDir()), 'pyroot', 'aptuple.txt')
- ofn = 'aptuple.root'
-
--print 'opening file', ifn, '...'
-+print('opening file %s ...' % ifn)
- infile = open( ifn, 'r' )
- lines = infile.readlines()
- title = lines[0]
--labels = string.split( lines[1] )
-+labels = lines[1].split()
-
--print 'writing file', ofn, '...'
-+print('writing file %s ...' % ofn)
- outfile = TFile( ofn, 'RECREATE', 'ROOT file with an NTuple' )
--ntuple = TNtuple( 'ntuple', title, string.join( labels, ':') )
-+ntuple = TNtuple( 'ntuple', title, ':'.join( labels ) )
-
- for line in lines[2:]:
-- words = string.split( line )
-+ words = line.split()
- row = map( float, words )
-- apply( ntuple.Fill, row )
-+ ntuple.Fill(*row)
-
- outfile.Write()
-
--print 'done'
-+print('done')
---
-2.21.0
-
diff --git a/root-static-constexpr.patch b/root-static-constexpr.patch
deleted file mode 100644
index c04ba6f..0000000
--- a/root-static-constexpr.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx
---- root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2020-02-15 21:16:58.819735413 +0100
-@@ -26,6 +26,8 @@
- {
- }
-
-+constexpr const ROOT::Experimental::RDrawingAttrBase::FromOption_t ROOT::Experimental::RDrawingAttrBase::FromOption;
-+
- ROOT::Experimental::RDrawingAttrBase::RDrawingAttrBase(FromOption_t, const Name &name, RDrawingOptsBase &opts) :
- fPath{name.fStr}, fHolder(opts.GetHolder())
- {
diff --git a/root-stress-aarch64-ppc64le.patch b/root-stress-aarch64-ppc64le.patch
deleted file mode 100644
index a925460..0000000
--- a/root-stress-aarch64-ppc64le.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From dd6d00b07778023449a7e6fe01f90a524237b20a Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Mon, 1 Jul 2019 08:53:15 +0200
-Subject: [PATCH] Increase test tolerence
-
-Test fails on aarch64 and ppc64le on Fedora 30 and Fedora rawhide:
-Test 3 : Purge, Reuse of gaps in TFile......................... FAILED
- File size= 52010 (expected 51886 +/- 100)
- Comp Fact= 2.00 (expected 2.1 +/- 0.3)
----
- test/stress.cxx | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/stress.cxx b/test/stress.cxx
-index 509bb0f17d..c0b44d9b77 100644
---- a/test/stress.cxx
-+++ b/test/stress.cxx
-@@ -406,7 +406,7 @@ void stress3()
- #else
- constexpr Long64_t lastgood = 51886;
- #endif
-- constexpr Long64_t tolerance = 100;
-+ constexpr Long64_t tolerance = 150;
- #ifdef R__HAS_DEFAULT_LZ4
- constexpr Long64_t difflastgoodlz4 = 5500;
- if (last < lastgood - tolerance || last > lastgood + difflastgoodlz4 + tolerance || comp < 1.5 || comp > 2.1)
---
-2.21.0
-
diff --git a/root-unbundle-gtest.patch b/root-unbundle-gtest.patch
index 0fe4103..44939ca 100644
--- a/root-unbundle-gtest.patch
+++ b/root-unbundle-gtest.patch
@@ -1,7 +1,7 @@
-diff -ur root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.18.00/cmake/modules/SearchInstalledSoftware.cmake
---- root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/cmake/modules/SearchInstalledSoftware.cmake 2019-06-26 16:00:21.275634375 +0200
-@@ -1380,80 +1380,18 @@
+diff -ur root-6.20.02.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.20.02/cmake/modules/SearchInstalledSoftware.cmake
+--- root-6.20.02.orig/cmake/modules/SearchInstalledSoftware.cmake 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/cmake/modules/SearchInstalledSoftware.cmake 2020-03-15 20:12:34.446078193 +0100
+@@ -1528,83 +1528,18 @@
#---Download googletest--------------------------------------------------------------
if (testing)
@@ -24,7 +24,9 @@ diff -ur root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.18
- if(MSVC)
- set(EXTRA_GTEST_OPTS
- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG:PATH=\\\"\\\"
-- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=\\\"\\\")
+- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_MINSIZEREL:PATH=\\\"\\\"
+- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=\\\"\\\"
+- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO:PATH=\\\"\\\")
- endif()
- if(APPLE)
- set(EXTRA_GTEST_OPTS
@@ -34,6 +36,7 @@ diff -ur root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.18
- ExternalProject_Add(
- googletest
- GIT_REPOSITORY https://github.com/google/googletest.git
+- GIT_SHALLOW 1
- GIT_TAG release-1.8.0
- UPDATE_COMMAND ""
- # TIMEOUT 10
diff --git a/root.spec b/root.spec
index 02e7bb6..7a79f82 100644
--- a/root.spec
+++ b/root.spec
@@ -49,9 +49,9 @@
%global __provides_exclude_from ^(%{?python2_sitearch:%{python2_sitearch}|}%{python3_sitearch}%{?python3_other_sitearch:|%{python3_other_sitearch}})/libJupyROOT\\.so$
Name: root
-Version: 6.18.04
+Version: 6.20.02
%global libversion %(cut -d. -f 1-2 <<< %{version})
-Release: 6%{?dist}
+Release: 1%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@@ -103,51 +103,36 @@ Patch10: %{name}-clang-ignore-gcc-options.patch
Patch11: %{name}-doc-no-notebooks.patch
# Don't run tutorial requiring firefox during doc generation
Patch12: %{name}-v7-line.patch
-# Install man pages in correct directory
-# https://github.com/root-project/root/pull/4026
-Patch13: %{name}-man-install.patch
-# Use correct library names in plugin definitions
-# https://github.com/root-project/root/pull/4026
-Patch14: %{name}-fix-plugin-definition.patch
-# Don't download test input file if it already exists
-# https://github.com/root-project/root/pull/4026
-Patch15: %{name}-dont-download-input-file-if-it-already-exists.patch
-# Python 3 fixes
-# https://github.com/root-project/root/pull/4026
-Patch16: %{name}-python3.patch
-# Increase test tolerance (aarch64 and ppc64le)
-# https://github.com/root-project/root/pull/4025
-Patch17: %{name}-stress-aarch64-ppc64le.patch
-# Fix GDB pretty printers install name and location
-# https://github.com/root-project/root/pull/4024
-Patch18: %{name}-pretty-printers.patch
-# Missing include - fails with gcc 10
-Patch19: %{name}-missing-include-string.patch
# Fix ppc64le build with gcc 10
# https://github.com/root-project/root/pull/5157
-Patch20: %{name}-clang-altivec-vector.patch
-# Missing symbol - with gcc 10
-Patch21: %{name}-static-constexpr.patch
+Patch13: %{name}-clang-altivec-vector.patch
# Fix -Wmissing-field-initializers in python bindings for
# Python 3.8 and 3.9
# https://github.com/root-project/root/pull/5158
-Patch22: %{name}-python3.8-object.patch
+Patch14: %{name}-python3.8-object.patch
# Correct broken assert statements
# https://github.com/root-project/root/pull/5159
-Patch23: %{name}-FitData-assert-fix.patch
+Patch15: %{name}-FitData-assert-fix.patch
# The test that creates the file must run before the test that
# modifies it
# https://github.com/root-project/root/pull/5160
-Patch24: %{name}-xmlmodify-dep.patch
+Patch16: %{name}-xmlmodify-dep.patch
# Use unique filenames in tutorials so they can be run in
# parallel
# Backport from upstream's git
-Patch25: %{name}-tutorials-unique-filenames.patch
+Patch17: %{name}-tutorials-unique-filenames.patch
# Size types should use %z
# https://github.com/root-project/root/pull/5161
-Patch26: %{name}-format-fix.patch
+Patch18: %{name}-format-fix.patch
# Run some test on 32 bit that upstream has disabled
-Patch27: %{name}-32bit-tests.patch
+Patch19: %{name}-32bit-tests.patch
+# The file was moved - update path
+# https://github.com/root-project/root/pull/5162
+Patch20: %{name}-moved-file.patch
+# Workaround for initialization problems for PyROOT on
+# EPEL7 ppc64le
+# https://sft.its.cern.ch/jira/browse/ROOT-10622
+Patch21: %{name}-epel7-ppc64le-pyroot.patch
# s390x suffers from endian issues resulting in failing tests
# and broken documentation generation
@@ -155,9 +140,9 @@ Patch27: %{name}-32bit-tests.patch
ExcludeArch: s390x
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
-BuildRequires: cmake >= 3.4.3
+BuildRequires: cmake >= 3.9
%else
-BuildRequires: cmake3 >= 3.4.3
+BuildRequires: cmake3 >= 3.9
%endif
BuildRequires: libX11-devel
BuildRequires: libXpm-devel
@@ -174,6 +159,7 @@ BuildRequires: zlib-devel
BuildRequires: xz-devel
BuildRequires: lz4-devel
BuildRequires: xxhash-devel
+BuildRequires: libzstd-devel
# Require a version of libAfterImage that is properly linked to
# its dependencies
BuildRequires: libAfterImage-devel >= 1.20-21
@@ -888,9 +874,6 @@ Requires: %{name}-core%{?_isa} = %{version}-%{release}
Requires: %{name}-graf%{?_isa} = %{version}-%{release}
Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
Requires: %{name}-hist%{?_isa} = %{version}-%{release}
-%if %{root7}
-Requires: %{name}-hist-draw%{?_isa} = %{version}-%{release}
-%endif
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
@@ -924,6 +907,8 @@ Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-io-xmlparser%{?_isa} = %{version}-%{release}
Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
Requires: %{name}-roofit%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-roostats%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
%description hist-factory
@@ -1387,21 +1372,49 @@ This package contains the xproof extension for ROOT. This provides a
client to be used in a PROOF environment.
%package roofit
-Summary: ROOT extension for modeling expected distributions
+Summary: ROOT extension for modeling expected distributions - toolkit
+License: BSD
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-hist%{?_isa} = %{version}-%{release}
+Requires: %{name}-io%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
+Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-tree%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
+
+%description roofit
+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 toolkit classes.
+
+%package roofit-core
+Summary: ROOT extension for modeling expected distributions - core
License: BSD
Requires: %{name}-core%{?_isa} = %{version}-%{release}
Requires: %{name}-foam%{?_isa} = %{version}-%{release}
Requires: %{name}-graf%{?_isa} = %{version}-%{release}
-Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
Requires: %{name}-hist%{?_isa} = %{version}-%{release}
Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
-Requires: %{name}-mathmore%{?_isa} = %{version}-%{release}
Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
Requires: %{name}-minuit%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
-%description roofit
+%description roofit-core
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
@@ -1414,6 +1427,54 @@ 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 core RooFit classes.
+
+%package roofit-more
+Summary: ROOT extension for modeling expected distributions - more
+License: BSD
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathmore%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
+
+%description roofit-more
+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 RooFit classes that use the mathmore library.
+
+%package roostats
+Summary: Statistical tools built on top of RooFit
+License: BSD
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
+Requires: %{name}-hist%{?_isa} = %{version}-%{release}
+Requires: %{name}-io%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
+Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
+Requires: %{name}-minuit%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-tree%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
+
+%description roostats
+RooStats is a package containing statistical tools built on top of
+RooFit.
+
%package sql-mysql
Summary: MySQL client plugin for ROOT
Requires: %{name}-core%{?_isa} = %{version}-%{release}
@@ -1550,6 +1611,7 @@ This package contains the Tree library for ROOT.
Summary: A high level interface to ROOT trees
Requires: %{name}-core%{?_isa} = %{version}-%{release}
Requires: %{name}-hist%{?_isa} = %{version}-%{release}
+Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
%if %{root7}
@@ -1637,7 +1699,6 @@ Javascript and style files for the Jupyter ROOT Notebook.
%package graf-gpadv7
Summary: Canvas and pad library for ROOT (ROOT 7)
Requires: %{name}-core%{?_isa} = %{version}-%{release}
-Requires: %{name}-io%{?_isa} = %{version}-%{release}
%description graf-gpadv7
This package contains a library for canvas and pad manipulations.
@@ -1660,6 +1721,7 @@ Requires: %{name}-gui-webdisplay%{?_isa} = %{version}-%{release}
Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
Requires: %{name}-montecarlo-eg%{?_isa} = %{version}-%{release}
+Requires: %{name}-net-http%{?_isa} = %{version}-%{release}
Requires: %{name}-physics%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
Requires: %{name}-tree-player%{?_isa} = %{version}-%{release}
@@ -1670,8 +1732,13 @@ This package contains a library for defining event displays in ROOT 7.
%package gui-browserv7
Summary: Browser (ROOT 7)
Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf-gpadv7%{?_isa} = %{version}-%{release}
Requires: %{name}-gui-webdisplay%{?_isa} = %{version}-%{release}
+Requires: %{name}-gui-webgui6%{?_isa} = %{version}-%{release}
+Requires: %{name}-hist%{?_isa} = %{version}-%{release}
Requires: %{name}-io%{?_isa} = %{version}-%{release}
+Requires: %{name}-tree%{?_isa} = %{version}-%{release}
%description gui-browserv7
This package contains a file browser for ROOT 7.
@@ -1732,6 +1799,13 @@ Requires: %{name}-io%{?_isa} = %{version}-%{release}
%description gui-webgui6
This package provides a Web based GUI for ROOT.
+%package histv7
+Summary: Histogram library for ROOT (ROOT 7)
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+
+%description histv7
+This package contains a library for histogramming in ROOT 7.
+
%package hist-draw
Summary: Histogram drawing (ROOT 7)
Requires: %{name}-core%{?_isa} = %{version}-%{release}
@@ -1773,13 +1847,11 @@ This package contains an ntuple extension for ROOT 7.
%patch18 -p1
%patch19 -p1
%patch20 -p1
+%if %{?rhel}%{!?rhel:0} == 7
+%ifarch ppc64le
%patch21 -p1
-%patch22 -p1
-%patch23 -p1
-%patch24 -p1
-%patch25 -p1
-%patch26 -p1
-%patch27 -p1
+%endif
+%endif
# Remove bundled sources in order to be sure they are not used
# * afterimage
@@ -1790,7 +1862,7 @@ rm -rf graf3d/ftgl/src graf3d/ftgl/inc
rm -rf graf2d/freetype/src
# * glew
rm -rf graf3d/glew/src graf3d/glew/inc graf3d/glew/isystem
-# * davix, lz4, openssl, pcre, xxhash, zlib
+# * davix, lz4, openssl, pcre, xxhash, zlib, zstd
rm -rf builtins
# * lzma
rm -rf core/lzma/src/*.tar.gz
@@ -1902,14 +1974,13 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dbuiltin_xrootd:BOOL=OFF \
-Dbuiltin_xxhash:BOOL=OFF \
-Dbuiltin_zlib:BOOL=OFF \
+ -Dbuiltin_zstd:BOOL=OFF \
-Dalien:BOOL=OFF \
-Darrow:BOOL=OFF \
-Dasimage:BOOL=ON \
- -Dastiff:BOOL=ON \
-Dccache:BOOL=OFF \
-Dcefweb:BOOL=OFF \
-Dclad:BOOL=OFF \
- -Dcling:BOOL=ON \
-Dcocoa:BOOL=OFF \
-Dcuda:BOOL=OFF \
%if %{root7}
@@ -1922,10 +1993,11 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dwebgui:BOOL=OFF \
%endif
-Dcxxmodules:BOOL=OFF \
+ -Ddataframe:BOOL=ON \
-Ddavix:BOOL=ON \
-Ddcache:BOOL=ON \
-Dexceptions:BOOL=ON \
- -Dexplicitlink:BOOL=ON \
+ -Dfcgi:BOOL=ON \
-Dfftw3:BOOL=ON \
-DFIREFOX_EXECUTABLE:PATH=/usr/bin/firefox \
-Dfitsio:BOOL=ON \
@@ -1946,17 +2018,18 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dmemory_termination:BOOL=OFF \
-Dmemstat:BOOL=ON \
-Dminuit2:BOOL=ON \
+ -Dmlp:BOOL=ON \
-Dmonalisa:BOOL=OFF \
+ -Dmpi:BOOL=OFF \
-Dmysql:BOOL=ON \
-Dodbc:BOOL=ON \
-Dopengl:BOOL=ON \
-Doracle:BOOL=OFF \
- -Dpch:BOOL=ON \
-Dpgsql:BOOL=ON \
-Dpythia6:BOOL=OFF \
-Dpythia8:BOOL=ON \
- -Dpython:BOOL=ON \
-DPYTHON_EXECUTABLE:PATH=%{__pythondef} \
+ -Dpyroot:BOOL=ON \
%ifarch %{qt5_qtwebengine_arches}
-Dqt5web:BOOL=ON \
%else
@@ -1970,10 +2043,10 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dshadowpw:BOOL=ON \
-Dshared:BOOL=ON \
-Dsoversion:BOOL=ON \
+ -Dspectrum:BOOL=ON \
-Dsqlite:BOOL=ON \
-Dssl:BOOL=ON \
-Dtcmalloc:BOOL=OFF \
- -Dthread:BOOL=ON \
-Dtmva:BOOL=ON \
%if %{tbb}
-Dtmva-cpu:BOOL=ON \
@@ -2035,7 +2108,9 @@ else
py3l=`pkg-config --libs-only-l python3 | sed -e 's/-l//' -e 's/\s*$//'`
fi
sed -e "s,${py3i},${py2i},g" -e "s,-l${py3l},-l${py2l},g" \
- -e "s,lib${py3l},lib${py2l},g" -e 's,%{__python3},%{__python2},g' \
+ -e "s,lib${py3l},lib${py2l},g" \
+ -e 's,%{__python}%{python3_version},%{__python2},g' \
+ -e 's,%{__python3},%{__python2},g' \
-e 's,lib/libPyROOT,python2/libPyROOT,g' \
-e 's,lib/libJupyROOT,python2/libJupyROOT,g' \
-e 's!bindings/pyroot!bindings/python2!g' \
@@ -2062,7 +2137,9 @@ else
py3l=`pkg-config --libs-only-l python3 | sed -e 's/-l//' -e 's/\s*$//'`
fi
sed -e "s,${py2i},${py3i},g" -e "s,-l${py2l},-l${py3l},g" \
- -e "s,lib${py2l},lib${py3l},g" -e 's,%{__python2},%{__python3},g' \
+ -e "s,lib${py2l},lib${py3l},g" \
+ -e 's,%{__python}%{python2_version},%{__python3},g' \
+ -e 's,%{__python2},%{__python3},g' \
-e 's,lib/libPyROOT,python3/libPyROOT,g' \
-e 's,lib/libJupyROOT,python3/libJupyROOT,g' \
-e 's!bindings/pyroot!bindings/python3!g' \
@@ -2089,7 +2166,9 @@ else
py3l=`pkg-config --libs-only-l python-%{python3_other_version} | sed -e 's/-l//' -e 's/\s*$//'`
fi
sed -e "s,${py2i},${py3i},g" -e "s,-l${py2l},-l${py3l},g" \
- -e "s,lib${py2l},lib${py3l},g" -e 's,%{__python2},%{__python3_other},g' \
+ -e "s,lib${py2l},lib${py3l},g" \
+ -e 's,%{__python}%{python2_version},%{__python3_other},g' \
+ -e 's,%{__python2},%{__python3_other},g' \
-e 's,lib/libPyROOT,python3oth/libPyROOT,g' \
-e 's,lib/libJupyROOT,python3oth/libJupyROOT,g' \
-e 's!bindings/pyroot!bindings/python3oth!g' \
@@ -2135,10 +2214,14 @@ rm %{buildroot}%{_libdir}/%{name}/__pycache__/cmdLineUtils.*
%endif
sed -e '/^\#!/d' -i %{buildroot}%{_datadir}/%{name}/cli/cmdLineUtils.py
-# Move GDB pretty printers to auto load safe path
+# Install GDB pretty printers to auto load safe path
+# These are installed (in libdir) by "make install" if CMAKE_BUILD_TYPE
+# matches Debug or RelWithDebInfo
mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}
-mv %{buildroot}%{_libdir}/%{name}/*-gdb.py \
- %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}
+install -p -m 644 build/gdbPrinters/libCore.so-gdb.py \
+ %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}/libCore.so.%{version}-gdb.py
+install -p -m 644 build/gdbPrinters/libRooFitCore.so-gdb.py \
+ %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}/libRooFitCore.so.%{version}-gdb.py
# Do python byte compilation (for non-standard paths)
%if %{?fedora}%{!?fedora:0} >= 28 || %{?rhel}%{!?rhel:0} >= 8
@@ -2386,10 +2469,6 @@ rm -rf %{buildroot}%{_datadir}/%{name}/proof/utils
rm %{buildroot}%{_datadir}/%{name}/root.desktop
rm %{buildroot}%{_bindir}/setxrd*
rm %{buildroot}%{_bindir}/thisroot*
-rm %{buildroot}%{_mandir}/man1/g2rootold.1
-rm %{buildroot}%{_mandir}/man1/genmap.1
-rm %{buildroot}%{_mandir}/man1/proofserva.1
-rm %{buildroot}%{_mandir}/man1/roota.1
rm %{buildroot}%{_pkgdocdir}/INSTALL
rm %{buildroot}%{_pkgdocdir}/README.ALIEN
rm %{buildroot}%{_pkgdocdir}/README.CXXMODULES.md
@@ -2400,7 +2479,6 @@ rm %{buildroot}%{_datadir}/%{name}/macros/fileopen.C
# Remove plugin definitions for non-built and obsolete plugins
pushd %{buildroot}%{_datadir}/%{name}/plugins
-rm TDataProgressDialog/P010_TDataProgressDialog.C
rm TDataSetManager/P020_TDataSetManagerAliEn.C
rm TFile/P070_TAlienFile.C
rm TGLManager/P020_TGWin32GLManager.C
@@ -2416,8 +2494,6 @@ rm TVirtualGLImp/P020_TGWin32GL.C
rm TVirtualMonitoringWriter/P010_TMonaLisaWriter.C
rm TVirtualX/P030_TGWin32.C
rm TVirtualX/P050_TGQuartz.C
-rm TVirtualX/P060_TWebVirtualX.C
-rmdir TDataProgressDialog
rmdir TGrid
rmdir TVirtualGeoConverter
popd
@@ -2492,7 +2568,6 @@ done
# ... and merge some of them
cat includelist-core-{[^mw],m[^au]}* > includelist-core
cat includelist-geom-geom* > includelist-geom
-cat includelist-roofit-roo* > includelist-roofit
cat includelist-graf2d-x11ttf >> includelist-graf2d-x11
cat includelist-net-netx* > includelist-netx
@@ -2558,6 +2633,23 @@ popd
#
# - tutorial-v7-line.cxx
# requires a web browser (and js-jsroot) to render javascript graphics
+#
+# - gtest-io-io-test-RRawFile (*)
+# - gtest-net-davix-test-RRawFileDavix
+# reads input file over network
+# http://root.cern.ch/files/davix.test
+# (*) one subtest RRawFile.Remote fails, others woud be OK
+#
+# - gtest-tmva-tmva-test-rreader
+# - gtest-tmva-tmva-test-rstandardscaler
+# - tutorial-tmva-tmva003_RReader
+# - tutorial-tmva-tmva004_RStandardScaler
+# reads input data over network
+# http://root.cern.ch/files/tmva_class_example.root
+#
+# - tutorial-tmva-tmva103_Application
+# reads input data over network
+# http://root.cern/files/tmva101.root
excluded="\
test-stressIOPlugins|\
tutorial-dataframe-df101_h1Analysis|\
@@ -2575,11 +2667,17 @@ tutorial-dataframe-df103_NanoAODHiggsAnalysis|\
tutorial-v7-ntuple-ntpl003_lhcbOpenData|\
tutorial-v7-ntuple-ntpl004_dimuon|\
tutorial-pythia-pythia8|\
-tutorial-v7-line.cxx"
+tutorial-v7-line.cxx|\
+gtest-io-io-test-RRawFile|\
+gtest-net-davix-test-RRawFileDavix|\
+gtest-tmva-tmva-test-rreader|\
+gtest-tmva-tmva-test-rstandardscaler|\
+tutorial-tmva-tmva003_RReader|\
+tutorial-tmva-tmva004_RStandardScaler|\
+tutorial-tmva-tmva103_Application"
%ifarch %{ix86} %{arm}
-%if %{?fedora}%{!?fedora:0} >= 30
-# Tests failing on 32 bit architectures on Fedoea 30+ (gcc 9?)
+# Tests failing on 32 bit architectures (dataframe)
# A bit random - not all the tests fail every time...
# - gtest-tree-dataframe-test-dataframe-cache
# - gtest-tree-dataframe-test-dataframe-callbacks
@@ -2590,6 +2688,7 @@ tutorial-v7-line.cxx"
# - gtest-tree-dataframe-test-dataframe-simple
# - gtest-tree-dataframe-test-dataframe-snapshot
# - gtest-tree-dataframe-test-datasource-root
+# - gtest-tree-dataframe-test-datasource-trivial
excluded="${excluded}|\
gtest-tree-dataframe-test-dataframe-cache|\
gtest-tree-dataframe-test-dataframe-callbacks|\
@@ -2599,23 +2698,14 @@ gtest-tree-dataframe-test-dataframe-helpers|\
gtest-tree-dataframe-test-dataframe-interface|\
gtest-tree-dataframe-test-dataframe-simple|\
gtest-tree-dataframe-test-dataframe-snapshot|\
-gtest-tree-dataframe-test-datasource-root"
-%endif
+gtest-tree-dataframe-test-datasource-root|\
+gtest-tree-dataframe-test-datasource-trivial"
%endif
%ifarch %{arm}
# Tests failing on 32 bit arm
# - gtest-tree-tree-test-testBulkApiSillyStruct
-# - tutorial-v7-draw.cxx
-# - tutorial-v7-draw_mt.cxx
-# - tutorial-v7-draw_rh1.cxx
-# - tutorial-v7-draw_subpads.cxx
-excluded="${excluded}|\
-gtest-tree-tree-test-testBulkApiSillyStruct|\
-tutorial-v7-draw.cxx|\
-tutorial-v7-draw_mt.cxx|\
-tutorial-v7-draw_rh1.cxx|\
-tutorial-v7-draw_subpads.cxx"
+excluded="${excluded}|gtest-tree-tree-test-testBulkApiSillyStruct"
%endif
%ifarch ppc64le
@@ -2629,17 +2719,6 @@ excluded="${excluded}|tutorial-roofit-rf608_fitresultaspdf-py"
%endif
%endif
-%if %{?fedora}%{!?fedora:0} >= 32
-# New failures with Fedora 32+ (gcc 10)
-excluded="${excluded}|tutorial-v7-markerStyle.cxx"
-%ifarch %{ix86} ppc64le
-excluded="${excluded}|TMVA-DNN-CNN-Reshape-CPU"
-%endif
-%ifarch ppc64le
-excluded="${excluded}|tutorial-v7-lineStyle.cxx|tutorial-v7-lineWidth.cxx"
-%endif
-%endif
-
make test ARGS="%{?_smp_mflags} --output-on-failure -E \"${excluded}\""
popd
@@ -2896,6 +2975,9 @@ fi
%ldconfig_scriptlets proof-sessionviewer
%ldconfig_scriptlets xproof
%ldconfig_scriptlets roofit
+%ldconfig_scriptlets roofit-core
+%ldconfig_scriptlets roofit-more
+%ldconfig_scriptlets roostats
%ldconfig_scriptlets sql-mysql
%ldconfig_scriptlets sql-odbc
%ldconfig_scriptlets sql-sqlite
@@ -2921,6 +3003,7 @@ fi
%endif
%ldconfig_scriptlets gui-webdisplay
%ldconfig_scriptlets gui-webgui6
+%ldconfig_scriptlets histv7
%ldconfig_scriptlets hist-draw
%ldconfig_scriptlets tree-ntuple
%endif
@@ -2986,9 +3069,6 @@ fi
%{_mandir}/man1/system.rootdaemonrc.1*
%dir %{_datadir}/%{name}/cmake
%{_datadir}/%{name}/cmake/*.cmake
-%dir %{_datadir}/%{name}/cmake/modules
-%{_datadir}/%{name}/cmake/modules/*.cmake
-%{_datadir}/%{name}/cmake/modules/*.cmake.in
%dir %{_datadir}/%{name}/macros
%{_datadir}/%{name}/macros/Dialogs.C
%dir %{_datadir}/%{name}/plugins
@@ -2998,9 +3078,7 @@ fi
%{_includedir}/%{name}/RConfigure.h
%{_includedir}/%{name}/RGitCommit.h
%{_includedir}/%{name}/compiledata.h
-%{_includedir}/%{name}/libc.modulemap
%{_includedir}/%{name}/module.modulemap
-%{_includedir}/%{name}/stl.modulemap
%dir %{_includedir}/%{name}/Math
%dir %{_includedir}/%{name}/ROOT
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
@@ -3052,6 +3130,7 @@ fi
%{python2_sitearch}/ROOT-*.egg-info
%{python2_sitearch}/cppyy.py*
%{python2_sitearch}/_pythonization.py*
+%{python2_sitearch}/_rdf_utils.py*
%endif
%if ! %{py3default}
@@ -3080,6 +3159,7 @@ fi
%{python3_sitearch}/ROOT-*.egg-info
%{python3_sitearch}/cppyy.py
%{python3_sitearch}/_pythonization.py
+%{python3_sitearch}/_rdf_utils.py
%{python3_sitearch}/__pycache__/*
%files -n python%{python3_pkgversion}-jupyroot
@@ -3107,6 +3187,7 @@ fi
%{python3_other_sitearch}/ROOT-*.egg-info
%{python3_other_sitearch}/cppyy.py
%{python3_other_sitearch}/_pythonization.py
+%{python3_other_sitearch}/_rdf_utils.py
%{python3_other_sitearch}/__pycache__/*
%files -n python%{python3_other_pkgversion}-jupyroot
@@ -3475,6 +3556,7 @@ fi
%{_libdir}/%{name}/libRDAVIX_rdict.pcm
%{_datadir}/%{name}/plugins/TFile/P130_TDavixFile.C
%{_datadir}/%{name}/plugins/TSystem/P045_TDavixSystem.C
+%{_datadir}/%{name}/plugins/ROOT@@Internal@(a)RRawFile/P010_RRawFileDavix.C
%files net-http -f includelist-net-http
%{_libdir}/%{name}/libRHTTP.*
@@ -3548,15 +3630,23 @@ fi
%{_datadir}/%{name}/plugins/TProofServ/P010_TXProofServ.C
%{_datadir}/%{name}/plugins/TSlave/P010_TXSlave.C
-%files roofit -f includelist-roofit
+%files roofit -f includelist-roofit-roofit
%{_libdir}/%{name}/libRooFit.*
%{_libdir}/%{name}/libRooFit_rdict.pcm
+
+%files roofit-core -f includelist-roofit-roofitcore
%{_libdir}/%{name}/libRooFitCore.*
%{_libdir}/%{name}/libRooFitCore_rdict.pcm
%{_datadir}/gdb/auto-load%{_libdir}/%{name}/libRooFitCore.*
%if %{?fedora}%{!?fedora:0} >= 28 || %{?rhel}%{!?rhel:0} >= 8
%{_datadir}/gdb/auto-load%{_libdir}/%{name}/__pycache__/libRooFitCore.*
%endif
+
+%files roofit-more -f includelist-roofit-roofitmore
+%{_libdir}/%{name}/libRooFitMore.*
+%{_libdir}/%{name}/libRooFitMore_rdict.pcm
+
+%files roostats -f includelist-roofit-roostats
%{_libdir}/%{name}/libRooStats.*
%{_libdir}/%{name}/libRooStats_rdict.pcm
%dir %{_includedir}/%{name}/RooStats
@@ -3652,7 +3742,7 @@ fi
%{_libdir}/%{name}/libROOTGpadv7.*
%{_libdir}/%{name}/libROOTGpadv7_rdict.pcm
-%files graf-primitives -f includelist-graf2d-primitives
+%files graf-primitives -f includelist-graf2d-primitivesv7
%{_libdir}/%{name}/libROOTGraphicsPrimitives.*
%{_libdir}/%{name}/libROOTGraphicsPrimitives_rdict.pcm
@@ -3686,7 +3776,11 @@ fi
%{_libdir}/%{name}/libWebGui6_rdict.pcm
%{_datadir}/%{name}/plugins/TGuiFactory/P030_TWebGuiFactory.C
-%files hist-draw -f includelist-hist-histdraw
+%files histv7 -f includelist-hist-histv7
+%{_libdir}/%{name}/libROOTHist.*
+%{_libdir}/%{name}/libROOTHist_rdict.pcm
+
+%files hist-draw -f includelist-hist-histdrawv7
%{_libdir}/%{name}/libROOTHistDraw.*
%{_libdir}/%{name}/libROOTHistDraw_rdict.pcm
@@ -3696,6 +3790,28 @@ fi
%endif
%changelog
+* Sun Mar 22 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.20.02-1
+- Update to 6.20.02
+- Drop patches accepted upstream
+ - root-dont-download-input-file-if-it-already-exists.patch
+ - root-fix-plugin-definition.patch
+ - root-man-install.patch
+ - root-pretty-printers.patch
+ - root-python3.patch
+ - root-stress-aarch64-ppc64le.patch
+- Drop patches no longer relevant due to changes to the code
+ - root-missing-include-string.patch
+ - root-static-constexpr.patch
+- Add workaround for PyROOT issues on ppc64le in EPEL 7
+ - root-epel7-ppc64le-pyroot.patch (patch conditionally applied)
+- Fix path to moved data file in tutorial
+ - root-moved-file.patch
+- Split the root-roofit subpackage into four different packages
+ - root-roofit, root-roofit-core, root-roofit-more and root-roostats
+ - The root-roofit-more library splits out the part of roofit that depends on
+ the root-mathmore package
+- New subpackage: root-histv7
+
* Sat Mar 14 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-6
- Build for 32 bit ARM again - gcc-10.0.1-0.9 fixes the problem
diff --git a/sources b/sources
index b86045b..0372c45 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (root-6.18.04.tar.xz) = 9ce3b5e1fa79cc010aa3b20ad3bfd8c4cf8605c17c0fb79991614ae299f3e08f00e76a1847b53f368a7bf006d90c1b5d152d1bf65a32b94f80835a47c60e03e6
+SHA512 (root-6.20.02.tar.xz) = 65f60c52485e72ef405daf10fa08a2d453c7f72f5f3721b97762094713dad1b0f5cb5a37a2a1c30f78bf97c358679f71829bc16833914e6f2ba82e9165521581
SHA512 (root-testfiles.tar.xz) = 7006c6591b587c24cf75dc4f6ed9586165b27102539fdde580d0a95853fcec7e9980a881e49e64a09f90af341a8c8fd2f493305ed88e07af144fabd438ba283e
commit cce2ff465c6ebe5f416eb42212a37fad1a389f46
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sun Mar 15 00:24:13 2020 +0100
Build for 32 bit ARM again - gcc-10.0.1-0.9 fixes the problem
diff --git a/root-32bit-dataframe.patch b/root-32bit-dataframe.patch
index 5a34084..dd71ad6 100644
--- a/root-32bit-dataframe.patch
+++ b/root-32bit-dataframe.patch
@@ -1,6 +1,6 @@
-diff -ur root-6.18.00.orig/bindings/pyroot/ROOT.py root-6.18.00/bindings/pyroot/ROOT.py
---- root-6.18.00.orig/bindings/pyroot/ROOT.py 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/bindings/pyroot/ROOT.py 2019-06-26 15:14:34.684257765 +0200
+diff -ur root-6.18.04.orig/bindings/pyroot/ROOT.py root-6.18.04/bindings/pyroot/ROOT.py
+--- root-6.18.04.orig/bindings/pyroot/ROOT.py 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/ROOT.py 2020-03-13 19:58:32.330575246 +0100
@@ -449,9 +449,7 @@
# This function is injected as method to the respective classes in Pythonize.cxx.
_root._RDataFrameAsNumpy = _RDataFrameAsNumpy
@@ -12,9 +12,9 @@ diff -ur root-6.18.00.orig/bindings/pyroot/ROOT.py root-6.18.00/bindings/pyroot/
### RINT command emulation ------------------------------------------------------
-diff -ur root-6.18.00.orig/bindings/pyroot/test/CMakeLists.txt root-6.18.00/bindings/pyroot/test/CMakeLists.txt
---- root-6.18.00.orig/bindings/pyroot/test/CMakeLists.txt 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/bindings/pyroot/test/CMakeLists.txt 2019-06-26 15:22:03.843577496 +0200
+diff -ur root-6.18.04.orig/bindings/pyroot/test/CMakeLists.txt root-6.18.04/bindings/pyroot/test/CMakeLists.txt
+--- root-6.18.04.orig/bindings/pyroot/test/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/test/CMakeLists.txt 2020-03-13 19:58:32.330575246 +0100
@@ -4,10 +4,7 @@
ROOT_ADD_PYUNITTEST(pyroot_rvec rvec.py)
if(NUMPY_FOUND)
@@ -28,9 +28,9 @@ diff -ur root-6.18.00.orig/bindings/pyroot/test/CMakeLists.txt root-6.18.00/bind
+ ROOT_ADD_PYUNITTEST(pyroot_ttree_asmatrix ttree_asmatrix.py)
endif()
-diff -ur root-6.18.00.orig/build/unix/makepchinput.py root-6.18.00/build/unix/makepchinput.py
---- root-6.18.00.orig/build/unix/makepchinput.py 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/build/unix/makepchinput.py 2019-06-26 15:14:34.760256972 +0200
+diff -ur root-6.18.04.orig/build/unix/makepchinput.py root-6.18.04/build/unix/makepchinput.py
+--- root-6.18.04.orig/build/unix/makepchinput.py 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/build/unix/makepchinput.py 2020-03-13 19:58:32.331575236 +0100
@@ -263,9 +263,6 @@
"math/vdt",
"tmva/rmva"]
@@ -41,27 +41,10 @@ diff -ur root-6.18.00.orig/build/unix/makepchinput.py root-6.18.00/build/unix/ma
accepted = isAnyPatternInString(PCHPatternsWhitelist,dirName) and \
not isAnyPatternInString(PCHPatternsBlacklist,dirName)
-diff -ur root-6.18.00.orig/cmake/scripts/ROOTConfig.cmake.in root-6.18.00/cmake/scripts/ROOTConfig.cmake.in
---- root-6.18.00.orig/cmake/scripts/ROOTConfig.cmake.in 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/cmake/scripts/ROOTConfig.cmake.in 2019-06-26 15:14:34.768256889 +0200
-@@ -83,7 +83,7 @@
- set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
- set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".dll")
- endif()
--foreach(_cpt Core Imt RIO Net Hist Graf Graf3d Gpad ROOTDataFrame Tree TreePlayer Rint Postscript Matrix Physics MathCore Thread MultiProc ${ROOT_FIND_COMPONENTS})
-+foreach(_cpt Core Imt RIO Net Hist Graf Graf3d Gpad ROOTDataFrame ROOTVecOps Tree TreePlayer Rint Postscript Matrix Physics MathCore Thread MultiProc ${ROOT_FIND_COMPONENTS})
- find_library(ROOT_${_cpt}_LIBRARY ${_cpt} HINTS ${ROOT_LIBRARY_DIR})
- if(ROOT_${_cpt}_LIBRARY)
- mark_as_advanced(ROOT_${_cpt}_LIBRARY)
-diff -ur root-6.18.00.orig/config/root-config.in root-6.18.00/config/root-config.in
---- root-6.18.00.orig/config/root-config.in 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/config/root-config.in 2019-06-26 15:41:39.518330743 +0200
-@@ -72,15 +72,10 @@
- newlib="-lNew"
- rootglibs="-lGui"
- rootevelibs="-lEve -lEG -lGeom -lGed -lRGL"
--rootlibs="-lCore -lImt -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lROOTVecOps -lTree -lTreePlayer\
-+rootlibs="-lCore -lImt -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lROOTDataFrame -lROOTVecOps -lTree -lTreePlayer\
+diff -ur root-6.18.04.orig/config/root-config.in root-6.18.04/config/root-config.in
+--- root-6.18.04.orig/config/root-config.in 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/config/root-config.in 2020-03-13 20:06:39.876361426 +0100
+@@ -76,10 +76,7 @@
-lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread\
-lMultiProc"
@@ -69,13 +52,13 @@ diff -ur root-6.18.00.orig/config/root-config.in root-6.18.00/config/root-config
- rootlibs="$rootlibs -lROOTDataFrame"
-fi
-
--
++rootlibs="$rootlibs -lROOTDataFrame"
+
if test "$platform" = "win32"; then
rootulibs="-include:_G__cpp_setupG__Net \
- -include:_G__cpp_setupG__IO \
-diff -ur root-6.18.00.orig/tree/dataframe/CMakeLists.txt root-6.18.00/tree/dataframe/CMakeLists.txt
---- root-6.18.00.orig/tree/dataframe/CMakeLists.txt 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/tree/dataframe/CMakeLists.txt 2019-06-26 15:14:34.827256273 +0200
+diff -ur root-6.18.04.orig/tree/dataframe/CMakeLists.txt root-6.18.04/tree/dataframe/CMakeLists.txt
+--- root-6.18.04.orig/tree/dataframe/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/tree/dataframe/CMakeLists.txt 2020-03-13 19:58:32.332575225 +0100
@@ -3,11 +3,6 @@
# @author Danilo Piparo CERN, Pere Mato CERN
############################################################################
@@ -88,9 +71,99 @@ diff -ur root-6.18.00.orig/tree/dataframe/CMakeLists.txt root-6.18.00/tree/dataf
if(arrow)
list(APPEND RDATAFRAME_EXTRA_HEADERS ROOT/RArrowDS.hxx)
list(APPEND RDATAFRAME_EXTRA_INCLUDES -I${ARROW_INCLUDE_DIR})
-diff -ur root-6.18.00.orig/tutorials/CMakeLists.txt root-6.18.00/tutorials/CMakeLists.txt
---- root-6.18.00.orig/tutorials/CMakeLists.txt 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/tutorials/CMakeLists.txt 2019-06-26 15:18:15.834951333 +0200
+diff -ur root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx root-6.18.04/tree/dataframe/test/dataframe_cache.cxx
+--- root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/tree/dataframe/test/dataframe_cache.cxx 2020-03-13 20:13:04.021253192 +0100
+@@ -224,8 +224,6 @@
+
+ }
+
+-#ifdef R__B64
+-
+ TEST(Cache, Regex)
+ {
+
+@@ -334,5 +332,3 @@
+
+ gSystem->Unlink(fileName);
+ }
+-
+-#endif // R__B64
+diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx root-6.18.04/tree/dataframe/test/datasource_arrow.cxx
+--- root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/tree/dataframe/test/datasource_arrow.cxx 2020-03-13 20:13:04.021253192 +0100
+@@ -163,8 +163,6 @@
+ }
+ #endif
+
+-#ifdef R__B64
+-
+ TEST(RArrowDS, FromARDF)
+ {
+ std::unique_ptr<RDataSource> tds(new RArrowDS(createTestTable(), {}));
+@@ -236,5 +234,3 @@
+ }
+
+ #endif // R__USE_IMT
+-
+-#endif // R__B64
+diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx root-6.18.04/tree/dataframe/test/datasource_csv.cxx
+--- root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/tree/dataframe/test/datasource_csv.cxx 2020-03-13 20:26:14.841831219 +0100
+@@ -193,8 +193,6 @@
+ }
+ #endif
+
+-#ifdef R__B64
+-
+ TEST(RCsvDS, FromARDF)
+ {
+ std::unique_ptr<RDataSource> tds(new RCsvDS(fileName0));
+@@ -290,5 +288,3 @@
+ }
+
+ #endif // R__USE_IMT
+-
+-#endif // R__B64
+diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx root-6.18.04/tree/dataframe/test/datasource_root.cxx
+--- root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/tree/dataframe/test/datasource_root.cxx 2020-03-13 20:13:04.021253192 +0100
+@@ -117,8 +117,6 @@
+ }
+ #endif
+
+-#ifdef R__B64
+-
+ TEST(TRootTDS, FromARDF)
+ {
+ std::unique_ptr<RDataSource> tds(new RRootDS(treeName, fileGlob));
+@@ -190,5 +188,3 @@
+ }
+
+ #endif // R__USE_IMT
+-
+-#endif // R__B64
+diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx root-6.18.04/tree/dataframe/test/datasource_trivial.cxx
+--- root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/tree/dataframe/test/datasource_trivial.cxx 2020-03-13 20:13:04.021253192 +0100
+@@ -132,8 +132,6 @@
+ EXPECT_EQ(*tdfAll.Count(), 20ULL);
+ }
+
+-#ifdef R__B64
+-
+ TEST(RTrivialDS, FromARDFWithJitting)
+ {
+ std::unique_ptr<RDataSource> tds(new RTrivialDS(32));
+@@ -236,5 +234,3 @@
+ }
+
+ #endif // R__USE_IMT
+-
+-#endif // R__B64
+diff -ur root-6.18.04.orig/tutorials/CMakeLists.txt root-6.18.04/tutorials/CMakeLists.txt
+--- root-6.18.04.orig/tutorials/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/tutorials/CMakeLists.txt 2020-03-13 19:58:32.333575214 +0100
@@ -212,10 +212,6 @@
v7/ntuple/ntpl004_dimuon.C)
endif()
diff --git a/root-32bit-tests.patch b/root-32bit-tests.patch
new file mode 100644
index 0000000..ea926b4
--- /dev/null
+++ b/root-32bit-tests.patch
@@ -0,0 +1,53 @@
+From 70d941cd6ebbc3726e08ef7f52d0135453f0b840 Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Fri, 13 Mar 2020 16:21:55 +0100
+Subject: [PATCH 2/3] Run tests on 32 bit
+
+---
+ test/stressGeometry.cxx | 8 --------
+ tree/tree/test/CMakeLists.txt | 10 +++-------
+ 2 files changed, 3 insertions(+), 15 deletions(-)
+
+diff --git a/test/stressGeometry.cxx b/test/stressGeometry.cxx
+index 5e81f5f2ca..18e41a6f45 100644
+--- a/test/stressGeometry.cxx
++++ b/test/stressGeometry.cxx
+@@ -257,14 +257,6 @@ void stressGeometry(const char *exp="*", Bool_t generate_ref=kFALSE, Bool_t vecg
+ if (opt.Contains(exps[i])) iexp[i] = 1;
+ else iexp[i] = 0;
+ }
+-#if defined(linux) && !defined(__x86_64__)
+- // 32bit linux: we have an error with ATLAS, see https://sft.its.cern.ch/jira/browse/ROOT-9893
+- // Disable unless explicitly enabled.
+- if (all) {
+- printf("DISABLED ATLAS TEST due to known failure on Linux 32 bit!\n");
+- iexp[32] = 0;
+- }
+-#endif
+ TFile::SetCacheFileDir(".");
+ TString fname;
+ for (i=0; i<NG; i++) {
+diff --git a/tree/tree/test/CMakeLists.txt b/tree/tree/test/CMakeLists.txt
+index 0c1a39d01e..3bafe47934 100644
+--- a/tree/tree/test/CMakeLists.txt
++++ b/tree/tree/test/CMakeLists.txt
+@@ -12,13 +12,9 @@ ROOT_ADD_GTEST(testTOffsetGeneration TOffsetGeneration.cxx ElementStruct.cxx Ele
+ target_include_directories(testTOffsetGeneration PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
+ ROOT_STANDARD_LIBRARY_PACKAGE(SillyStruct NO_INSTALL_HEADERS HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/SillyStruct.h SOURCES SillyStruct.cxx LINKDEF SillyStructLinkDef.h DEPENDENCIES RIO)
+ ROOT_ADD_GTEST(testBulkApi BulkApi.cxx LIBRARIES RIO Tree TreePlayer)
+-#FIXME: tests are having timeout on 32bit CERN VM (in docker container everything is fine),
+-# to be reverted after investigation.
+-if(NOT CMAKE_SIZEOF_VOID_P EQUAL 4)
+- ROOT_ADD_GTEST(testBulkApiMultiple BulkApiMultiple.cxx LIBRARIES RIO Tree TreePlayer)
+- ROOT_ADD_GTEST(testBulkApiVarLength BulkApiVarLength.cxx LIBRARIES RIO Tree TreePlayer)
+- ROOT_ADD_GTEST(testBulkApiSillyStruct BulkApiSillyStruct.cxx LIBRARIES RIO Tree TreePlayer SillyStruct)
+-endif()
++ROOT_ADD_GTEST(testBulkApiMultiple BulkApiMultiple.cxx LIBRARIES RIO Tree TreePlayer)
++ROOT_ADD_GTEST(testBulkApiVarLength BulkApiVarLength.cxx LIBRARIES RIO Tree TreePlayer)
++ROOT_ADD_GTEST(testBulkApiSillyStruct BulkApiSillyStruct.cxx LIBRARIES RIO Tree TreePlayer SillyStruct)
+ ROOT_ADD_GTEST(testTBasket TBasket.cxx LIBRARIES RIO Tree)
+ ROOT_ADD_GTEST(testTBranch TBranch.cxx LIBRARIES RIO Tree MathCore)
+ ROOT_ADD_GTEST(testTIOFeatures TIOFeatures.cxx LIBRARIES RIO Tree)
+--
+2.24.1
+
diff --git a/root-FitData-assert-fix.patch b/root-FitData-assert-fix.patch
new file mode 100644
index 0000000..8e9ba00
--- /dev/null
+++ b/root-FitData-assert-fix.patch
@@ -0,0 +1,28 @@
+From 07c5d640dd53c83c8b3350b520170fd9a5526495 Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Fri, 13 Mar 2020 14:09:07 +0100
+Subject: [PATCH] Correct broken assert statements
+
+---
+ math/mathcore/src/FitData.cxx | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/math/mathcore/src/FitData.cxx b/math/mathcore/src/FitData.cxx
+index a2be20ab0d..0bad8ff7cd 100644
+--- a/math/mathcore/src/FitData.cxx
++++ b/math/mathcore/src/FitData.cxx
+@@ -200,9 +200,9 @@ namespace ROOT {
+ /// dummy virtual destructor
+ FitData::~FitData()
+ {
++ assert(fWrapped == fCoords.empty());
+ for (unsigned int i = 0; i < fDim; i++) {
+- assert(fWrapped == fCoords.empty());
+- assert(fCoords.empty() || &fCoords[i].front() == fCoordsPtr[i]);
++ assert(fWrapped || fCoords[i].empty() || &fCoords[i].front() == fCoordsPtr[i]);
+ }
+ if (fpTmpCoordVector) delete[] fpTmpCoordVector;
+
+--
+2.24.1
+
diff --git a/root-clang-altivec-vector.patch b/root-clang-altivec-vector.patch
index 23202bd..4648ccc 100644
--- a/root-clang-altivec-vector.patch
+++ b/root-clang-altivec-vector.patch
@@ -1,7 +1,19 @@
-diff -ur root-6.18.04.orig/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp root-6.18.04/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp
---- root-6.18.04.orig/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp 2020-02-06 14:36:14.580497452 +0100
-@@ -2373,7 +2373,7 @@
+From f0e7ee696e416f5cb42619889fcbff7db64f17e1 Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Fri, 13 Mar 2020 17:09:03 +0100
+Subject: [PATCH] Fix ppc64le compilation with gcc 10
+
+Backported from llvm upstream
+https://reviews.llvm.org/D74129
+---
+ interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp b/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp
+index dbe6b4db94..2096ba6982 100644
+--- a/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp
++++ b/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp
+@@ -2373,7 +2373,7 @@ bool Lexer::SkipBlockComment(Token &Result, const char *CurPtr,
'/', '/', '/', '/', '/', '/', '/', '/'
};
while (CurPtr+16 <= BufferEnd &&
@@ -10,3 +22,6 @@ diff -ur root-6.18.04.orig/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp ro
CurPtr += 16;
#else
// Scan for '/' quickly. Many block comments are very large.
+--
+2.24.1
+
diff --git a/root-format-fix.patch b/root-format-fix.patch
new file mode 100644
index 0000000..9d7f4e2
--- /dev/null
+++ b/root-format-fix.patch
@@ -0,0 +1,28 @@
+From 1d4aaf9e503669ccb0275f3f9b8a87a486671334 Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Fri, 13 Mar 2020 14:34:48 +0100
+Subject: [PATCH] Size types should use %z
+
+---
+ tree/dataframe/src/RCsvDS.cxx | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tree/dataframe/src/RCsvDS.cxx b/tree/dataframe/src/RCsvDS.cxx
+index 81f802285b..fc0a18e21f 100644
+--- a/tree/dataframe/src/RCsvDS.cxx
++++ b/tree/dataframe/src/RCsvDS.cxx
+@@ -368,9 +368,9 @@ std::vector<std::pair<ULong64_t, ULong64_t>> RCsvDS::GetEntryRanges()
+
+ if (gDebug > 0) {
+ if (fLinesChunkSize == -1LL) {
+- Info("GetEntryRanges", "Attempted to read entire CSV file into memory, %lu lines read", fRecords.size());
++ Info("GetEntryRanges", "Attempted to read entire CSV file into memory, %zu lines read", fRecords.size());
+ } else {
+- Info("GetEntryRanges", "Attempted to read chunk of %lld lines of CSV file into memory, %lu lines read", fLinesChunkSize, fRecords.size());
++ Info("GetEntryRanges", "Attempted to read chunk of %lld lines of CSV file into memory, %zu lines read", fLinesChunkSize, fRecords.size());
+ }
+ }
+
+--
+2.24.1
+
diff --git a/root-python3.8-object.patch b/root-python3.8-object.patch
new file mode 100644
index 0000000..ed4ef9f
--- /dev/null
+++ b/root-python3.8-object.patch
@@ -0,0 +1,539 @@
+diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bindings/pyroot/src/MethodProxy.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/MethodProxy.cxx 2020-03-13 16:46:56.538971601 +0100
+@@ -839,7 +839,8 @@
+ sizeof(MethodProxy), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)mp_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -888,6 +889,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace PyROOT
+diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bindings/pyroot/src/ObjectProxy.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/ObjectProxy.cxx 2020-03-13 16:46:56.539971591 +0100
+@@ -397,7 +397,8 @@
+ sizeof(ObjectProxy), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)op_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -449,6 +450,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace PyROOT
+diff -ur root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.18.04/bindings/pyroot/src/PropertyProxy.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/PropertyProxy.cxx 2020-03-13 16:46:56.539971591 +0100
+@@ -133,7 +133,8 @@
+ sizeof(PropertyProxy), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)pp_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -182,6 +183,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace PyROOT
+diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindings/pyroot/src/PyRootType.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/PyRootType.cxx 2020-03-13 16:46:56.539971591 +0100
+@@ -230,7 +230,8 @@
+ sizeof(PyROOT::PyRootClass),// tp_basicsize
+ 0, // tp_itemsize
+ 0, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -279,6 +280,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace PyROOT
+diff -ur root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx root-6.18.04/bindings/pyroot/src/Pythonize.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/Pythonize.cxx 2020-03-13 16:46:56.540971580 +0100
+@@ -944,6 +944,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ static PyObject* vector_iter( PyObject* v ) {
+diff -ur root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx root-6.18.04/bindings/pyroot/src/RootModule.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/RootModule.cxx 2020-03-13 16:46:56.540971580 +0100
+@@ -134,6 +134,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ PyObject _PyROOT_NullPtrStruct = {
+diff -ur root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.18.04/bindings/pyroot/src/TCustomPyTypes.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-13 16:46:56.540971580 +0100
+@@ -19,7 +19,8 @@
+ 0, // tp_basicsize
+ 0, // tp_itemsize
+ 0, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -69,6 +70,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ //= long type allowed for reference passing ==================================
+@@ -78,7 +85,8 @@
+ 0, // tp_basicsize
+ 0, // tp_itemsize
+ 0, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -128,6 +136,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ //= instancemethod object with a more efficient call function ================
+@@ -277,7 +291,8 @@
+ 0, // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)im_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -327,6 +342,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace PyROOT
+diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bindings/pyroot/src/TemplateProxy.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/TemplateProxy.cxx 2020-03-13 16:46:56.541971570 +0100
+@@ -395,7 +395,8 @@
+ sizeof(TemplateProxy), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)tpp_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -444,6 +445,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace PyROOT
+diff -ur root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.18.04/bindings/pyroot/src/TTupleOfInstances.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-13 16:46:56.540971580 +0100
+@@ -42,7 +42,8 @@
+ 0, // tp_basicsize
+ 0, // tp_itemsize
+ 0, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -92,6 +93,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace PyROOT
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-13 16:47:15.029777701 +0100
+@@ -168,7 +168,8 @@
+ sizeof(CPPDataMember), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)pp_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -217,6 +218,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-13 16:47:15.029777701 +0100
+@@ -385,7 +385,8 @@
+ sizeof(CPPInstance), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)op_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -437,6 +438,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-13 16:47:15.030777691 +0100
+@@ -813,7 +813,8 @@
+ sizeof(CPPOverload), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)mp_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -862,6 +863,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-13 16:47:15.030777691 +0100
+@@ -424,7 +424,8 @@
+ sizeof(CPyCppyy::CPPScope), // tp_basicsize
+ 0, // tp_itemsize
+ 0, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -473,6 +474,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-13 16:47:15.030777691 +0100
+@@ -140,6 +140,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ namespace {
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-13 16:57:57.529034828 +0100
+@@ -32,6 +32,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ //= long type allowed for reference passing ==================================
+@@ -54,6 +60,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ //= instancemethod object with a more efficient call function ================
+@@ -219,6 +231,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+
+@@ -269,6 +287,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+
+@@ -320,6 +344,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-13 16:47:15.031777680 +0100
+@@ -657,7 +657,8 @@
+ sizeof(CPyCppyy::LowLevelView),// tp_basicsize
+ 0, // tp_itemsize
+ (destructor)ll_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -707,6 +708,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-13 16:47:15.032777670 +0100
+@@ -515,7 +515,8 @@
+ sizeof(TemplateProxy), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)tpp_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -564,6 +565,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-13 16:47:15.032777670 +0100
+@@ -79,6 +79,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+
+@@ -152,7 +158,8 @@
+ 0, // tp_basicsize
+ 0, // tp_itemsize
+ 0, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -202,6 +209,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
diff --git a/root-tutorials-unique-filenames.patch b/root-tutorials-unique-filenames.patch
new file mode 100644
index 0000000..dee82fb
--- /dev/null
+++ b/root-tutorials-unique-filenames.patch
@@ -0,0 +1,22 @@
+diff --git a/tutorials/multicore/mtbb101_fillNtuples.C b/tutorials/multicore/mtbb101_fillNtuples.C
+index 80c19ce626..d7a9dbbdaa 100644
+--- a/tutorials/multicore/mtbb101_fillNtuples.C
++++ b/tutorials/multicore/mtbb101_fillNtuples.C
+@@ -40,7 +40,7 @@ Int_t mtbb101_fillNtuples()
+
+ // Create a random generator and and Ntuple to hold the numbers
+ TRandom3 rndm(1);
+- TFile ofile("mp101_singleCore.root", "RECREATE");
++ TFile ofile("mtbb101_singleCore.root", "RECREATE");
+ TNtuple randomNumbers("singleCore", "Random Numbers", "r");
+ fillRandom(randomNumbers, rndm, nNumbers);
+ randomNumbers.Write();
+@@ -52,7 +52,7 @@ Int_t mtbb101_fillNtuples()
+ auto workItem = [](UInt_t workerID) {
+ // One generator, file and ntuple per worker
+ TRandom3 workerRndm(workerID); // Change the seed
+- TFile ofile(Form("mp101_multiCore_%u.root", workerID), "RECREATE");
++ TFile ofile(Form("mtbb101_multiCore_%u.root", workerID), "RECREATE");
+ TNtuple workerRandomNumbers("multiCore", "Random Numbers", "r");
+ fillRandom(workerRandomNumbers, workerRndm, workSize);
+ workerRandomNumbers.Write();
diff --git a/root-xmlmodify-dep.patch b/root-xmlmodify-dep.patch
new file mode 100644
index 0000000..02a0498
--- /dev/null
+++ b/root-xmlmodify-dep.patch
@@ -0,0 +1,25 @@
+From a651fb9278438d5ad7e4ddbf6082a791e1187e0d Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Fri, 13 Mar 2020 12:58:14 +0100
+Subject: [PATCH] The test that creates the file must run before the test that
+ modifies it
+
+---
+ tutorials/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tutorials/CMakeLists.txt b/tutorials/CMakeLists.txt
+index f920da54ee..b1abd03d36 100644
+--- a/tutorials/CMakeLists.txt
++++ b/tutorials/CMakeLists.txt
+@@ -375,6 +375,7 @@ set(unfold-testUnfold5b-depends tutorial-unfold-testUnfold5a)
+ set(unfold-testUnfold7d-depends tutorial-unfold-testUnfold7c)
+ set(unfold-testUnfold7c-depends tutorial-unfold-testUnfold7b)
+ set(unfold-testUnfold7b-depends tutorial-unfold-testUnfold7a)
++set(xml-xmlmodifyfile-depends tutorial-xml-xmlnewfile)
+ set(xml-xmlreadfile-depends tutorial-xml-xmlnewfile)
+ set(roofit-rf503_wspaceread-depends tutorial-roofit-rf502_wspacewrite)
+ set(histfactory-example-depends tutorial-roostats-CreateExampleFile)
+--
+2.24.1
+
diff --git a/root.spec b/root.spec
index e7223a2..02e7bb6 100644
--- a/root.spec
+++ b/root.spec
@@ -46,12 +46,12 @@
# Do not generate autoprovides for libJupyROOT.so
# Note: the ones from libPyROOT.so we do want though
-%global __provides_exclude_from ^(%{python2_sitearch}|%{python3_sitearch}%{?python3_other_sitearch:|%{python3_other_sitearch}})/libJupyROOT\\.so$
+%global __provides_exclude_from ^(%{?python2_sitearch:%{python2_sitearch}|}%{python3_sitearch}%{?python3_other_sitearch:|%{python3_other_sitearch}})/libJupyROOT\\.so$
Name: root
Version: 6.18.04
%global libversion %(cut -d. -f 1-2 <<< %{version})
-Release: 5%{?dist}
+Release: 6%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@@ -124,20 +124,35 @@ Patch18: %{name}-pretty-printers.patch
# Missing include - fails with gcc 10
Patch19: %{name}-missing-include-string.patch
# Fix ppc64le build with gcc 10
+# https://github.com/root-project/root/pull/5157
Patch20: %{name}-clang-altivec-vector.patch
# Missing symbol - with gcc 10
Patch21: %{name}-static-constexpr.patch
+# Fix -Wmissing-field-initializers in python bindings for
+# Python 3.8 and 3.9
+# https://github.com/root-project/root/pull/5158
+Patch22: %{name}-python3.8-object.patch
+# Correct broken assert statements
+# https://github.com/root-project/root/pull/5159
+Patch23: %{name}-FitData-assert-fix.patch
+# The test that creates the file must run before the test that
+# modifies it
+# https://github.com/root-project/root/pull/5160
+Patch24: %{name}-xmlmodify-dep.patch
+# Use unique filenames in tutorials so they can be run in
+# parallel
+# Backport from upstream's git
+Patch25: %{name}-tutorials-unique-filenames.patch
+# Size types should use %z
+# https://github.com/root-project/root/pull/5161
+Patch26: %{name}-format-fix.patch
+# Run some test on 32 bit that upstream has disabled
+Patch27: %{name}-32bit-tests.patch
# s390x suffers from endian issues resulting in failing tests
# and broken documentation generation
# https://sft.its.cern.ch/jira/browse/ROOT-8703
ExcludeArch: s390x
-%if %{?fedora}%{!?fedora:0} >= 32
-# The rootcling_stage1 binary segfaults on 32-bit arm when
-# compiled with gcc 10 - exclude the architecture for now,
-# bug #1811604
-ExcludeArch: %{arm}
-%endif
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
BuildRequires: cmake >= 3.4.3
@@ -1759,6 +1774,12 @@ This package contains an ntuple extension for ROOT 7.
%patch19 -p1
%patch20 -p1
%patch21 -p1
+%patch22 -p1
+%patch23 -p1
+%patch24 -p1
+%patch25 -p1
+%patch26 -p1
+%patch27 -p1
# Remove bundled sources in order to be sure they are not used
# * afterimage
@@ -1769,7 +1790,7 @@ rm -rf graf3d/ftgl/src graf3d/ftgl/inc
rm -rf graf2d/freetype/src
# * glew
rm -rf graf3d/glew/src graf3d/glew/inc graf3d/glew/isystem
-# * lz4, pcre, xxhash, zlib
+# * davix, lz4, openssl, pcre, xxhash, zlib
rm -rf builtins
# * lzma
rm -rf core/lzma/src/*.tar.gz
@@ -1788,9 +1809,10 @@ sed /mathjax.tar.gz/d -i documentation/doxygen/Makefile
# * string_view (<experimental/string_view> requires c++-14)
rm core/foundation/inc/ROOT/libcpp_string_view.h \
core/foundation/inc/ROOT/RWrap_libcpp_string_view.h
+sed /RWrap_libcpp_string_view.h/d -i build/unix/module.modulemap
%endif
# * jsroot
-rm -rf etc/js/*
+rm -rf js/*
# Fix file permissions
chmod -x interpreter/llvm/src/lib/Target/X86/X86EvexToVex.cpp
@@ -2401,7 +2423,7 @@ rmdir TVirtualGeoConverter
popd
# Replace bundled jsroot with symlink to system version
-rm -rf %{buildroot}%{_datadir}/%{name}/js
+rmdir %{buildroot}%{_datadir}/%{name}/js
ln -s /usr/share/javascript/jsroot %{buildroot}%{_datadir}/%{name}/js
# Create ldconfig configuration
@@ -2564,26 +2586,32 @@ tutorial-v7-line.cxx"
# - gtest-tree-dataframe-test-dataframe-colnames
# - gtest-tree-dataframe-test-dataframe-friends
# - gtest-tree-dataframe-test-dataframe-helpers
+# - gtest-tree-dataframe-test-dataframe-interface
# - gtest-tree-dataframe-test-dataframe-simple
# - gtest-tree-dataframe-test-dataframe-snapshot
+# - gtest-tree-dataframe-test-datasource-root
excluded="${excluded}|\
gtest-tree-dataframe-test-dataframe-cache|\
gtest-tree-dataframe-test-dataframe-callbacks|\
gtest-tree-dataframe-test-dataframe-colnames|\
gtest-tree-dataframe-test-dataframe-friends|\
gtest-tree-dataframe-test-dataframe-helpers|\
+gtest-tree-dataframe-test-dataframe-interface|\
gtest-tree-dataframe-test-dataframe-simple|\
-gtest-tree-dataframe-test-dataframe-snapshot"
+gtest-tree-dataframe-test-dataframe-snapshot|\
+gtest-tree-dataframe-test-datasource-root"
%endif
%endif
%ifarch %{arm}
# Tests failing on 32 bit arm
+# - gtest-tree-tree-test-testBulkApiSillyStruct
# - tutorial-v7-draw.cxx
# - tutorial-v7-draw_mt.cxx
# - tutorial-v7-draw_rh1.cxx
# - tutorial-v7-draw_subpads.cxx
excluded="${excluded}|\
+gtest-tree-tree-test-testBulkApiSillyStruct|\
tutorial-v7-draw.cxx|\
tutorial-v7-draw_mt.cxx|\
tutorial-v7-draw_rh1.cxx|\
@@ -2604,22 +2632,11 @@ excluded="${excluded}|tutorial-roofit-rf608_fitresultaspdf-py"
%if %{?fedora}%{!?fedora:0} >= 32
# New failures with Fedora 32+ (gcc 10)
excluded="${excluded}|tutorial-v7-markerStyle.cxx"
-%ifarch %{ix86}
-excluded="${excluded}|\
-TMVA-DNN-CNN-Reshape-CPU|\
-gtest-tree-dataframe-test-dataframe-interface"
+%ifarch %{ix86} ppc64le
+excluded="${excluded}|TMVA-DNN-CNN-Reshape-CPU"
%endif
%ifarch ppc64le
-excluded="${excluded}|\
-TMVA-DNN-CNN-Reshape-CPU|\
-tutorial-v7-lineStyle.cxx|\
-tutorial-v7-lineWidth.cxx"
-%endif
-%endif
-
-%if %{?fedora}%{!?fedora:0} >= 33
-%ifarch aarch64
-excluded="${excluded}|tutorial-tmva-TMVARegression"
+excluded="${excluded}|tutorial-v7-lineStyle.cxx|tutorial-v7-lineWidth.cxx"
%endif
%endif
@@ -3679,6 +3696,9 @@ fi
%endif
%changelog
+* Sat Mar 14 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-6
+- Build for 32 bit ARM again - gcc-10.0.1-0.9 fixes the problem
+
* Sat Feb 22 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-5
- Fixes and workarounds for gcc 10
- ExcludeArch for 32 bit ARM because rootcling_stage1 segfaults (bug #1811604)
commit 9efe68edd415287672edac13845cfb57446afff0
Author: Petr Psa <ppisar(a)redhat.com>
Date: Mon Mar 9 11:34:00 2020 +0100
Link to a bug report for the exclusion on 32-bit ARM
diff --git a/root.spec b/root.spec
index 21f5387..e7223a2 100644
--- a/root.spec
+++ b/root.spec
@@ -134,7 +134,8 @@ Patch21: %{name}-static-constexpr.patch
ExcludeArch: s390x
%if %{?fedora}%{!?fedora:0} >= 32
# The rootcling_stage1 binary segfaults on 32-bit arm when
-# compiled with gcc 10 - exclude the architecture for now
+# compiled with gcc 10 - exclude the architecture for now,
+# bug #1811604
ExcludeArch: %{arm}
%endif
@@ -3680,7 +3681,7 @@ fi
%changelog
* Sat Feb 22 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-5
- Fixes and workarounds for gcc 10
-- ExcludeArch for 32 bit ARM because rootcling_stage1 segfaults
+- ExcludeArch for 32 bit ARM because rootcling_stage1 segfaults (bug #1811604)
* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.18.04-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
commit baedd3ac92b83e79769aa3f8bd50c9330a66f7b1
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sat Feb 22 14:31:21 2020 +0100
Fixes and workarounds for gcc 10
ExcludeArch for 32 bit ARM because rootcling_stage1 segfaults
diff --git a/root-clang-altivec-vector.patch b/root-clang-altivec-vector.patch
new file mode 100644
index 0000000..23202bd
--- /dev/null
+++ b/root-clang-altivec-vector.patch
@@ -0,0 +1,12 @@
+diff -ur root-6.18.04.orig/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp root-6.18.04/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp
+--- root-6.18.04.orig/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp 2020-02-06 14:36:14.580497452 +0100
+@@ -2373,7 +2373,7 @@
+ '/', '/', '/', '/', '/', '/', '/', '/'
+ };
+ while (CurPtr+16 <= BufferEnd &&
+- !vec_any_eq(*(const vector unsigned char*)CurPtr, Slashes))
++ !vec_any_eq(*(const __vector unsigned char*)CurPtr, Slashes))
+ CurPtr += 16;
+ #else
+ // Scan for '/' quickly. Many block comments are very large.
diff --git a/root-missing-include-string.patch b/root-missing-include-string.patch
new file mode 100644
index 0000000..f870e14
--- /dev/null
+++ b/root-missing-include-string.patch
@@ -0,0 +1,11 @@
+diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx
+--- root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2020-01-23 11:27:58.637463837 +0100
+@@ -17,6 +17,7 @@
+ #define ROOT7_RColor
+
+ #include <array>
++#include <string>
+ #include <vector>
+
+ namespace ROOT {
diff --git a/root-static-constexpr.patch b/root-static-constexpr.patch
new file mode 100644
index 0000000..c04ba6f
--- /dev/null
+++ b/root-static-constexpr.patch
@@ -0,0 +1,12 @@
+diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx
+--- root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2020-02-15 21:16:58.819735413 +0100
+@@ -26,6 +26,8 @@
+ {
+ }
+
++constexpr const ROOT::Experimental::RDrawingAttrBase::FromOption_t ROOT::Experimental::RDrawingAttrBase::FromOption;
++
+ ROOT::Experimental::RDrawingAttrBase::RDrawingAttrBase(FromOption_t, const Name &name, RDrawingOptsBase &opts) :
+ fPath{name.fStr}, fHolder(opts.GetHolder())
+ {
diff --git a/root.spec b/root.spec
index 32f8148..21f5387 100644
--- a/root.spec
+++ b/root.spec
@@ -51,7 +51,7 @@
Name: root
Version: 6.18.04
%global libversion %(cut -d. -f 1-2 <<< %{version})
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@@ -121,11 +121,22 @@ Patch17: %{name}-stress-aarch64-ppc64le.patch
# Fix GDB pretty printers install name and location
# https://github.com/root-project/root/pull/4024
Patch18: %{name}-pretty-printers.patch
+# Missing include - fails with gcc 10
+Patch19: %{name}-missing-include-string.patch
+# Fix ppc64le build with gcc 10
+Patch20: %{name}-clang-altivec-vector.patch
+# Missing symbol - with gcc 10
+Patch21: %{name}-static-constexpr.patch
# s390x suffers from endian issues resulting in failing tests
# and broken documentation generation
# https://sft.its.cern.ch/jira/browse/ROOT-8703
ExcludeArch: s390x
+%if %{?fedora}%{!?fedora:0} >= 32
+# The rootcling_stage1 binary segfaults on 32-bit arm when
+# compiled with gcc 10 - exclude the architecture for now
+ExcludeArch: %{arm}
+%endif
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
BuildRequires: cmake >= 3.4.3
@@ -1744,6 +1755,9 @@ This package contains an ntuple extension for ROOT 7.
%patch16 -p1
%patch17 -p1
%patch18 -p1
+%patch19 -p1
+%patch20 -p1
+%patch21 -p1
# Remove bundled sources in order to be sure they are not used
# * afterimage
@@ -2586,6 +2600,28 @@ excluded="${excluded}|tutorial-roofit-rf608_fitresultaspdf-py"
%endif
%endif
+%if %{?fedora}%{!?fedora:0} >= 32
+# New failures with Fedora 32+ (gcc 10)
+excluded="${excluded}|tutorial-v7-markerStyle.cxx"
+%ifarch %{ix86}
+excluded="${excluded}|\
+TMVA-DNN-CNN-Reshape-CPU|\
+gtest-tree-dataframe-test-dataframe-interface"
+%endif
+%ifarch ppc64le
+excluded="${excluded}|\
+TMVA-DNN-CNN-Reshape-CPU|\
+tutorial-v7-lineStyle.cxx|\
+tutorial-v7-lineWidth.cxx"
+%endif
+%endif
+
+%if %{?fedora}%{!?fedora:0} >= 33
+%ifarch aarch64
+excluded="${excluded}|tutorial-tmva-TMVARegression"
+%endif
+%endif
+
make test ARGS="%{?_smp_mflags} --output-on-failure -E \"${excluded}\""
popd
@@ -3642,6 +3678,10 @@ fi
%endif
%changelog
+* Sat Feb 22 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-5
+- Fixes and workarounds for gcc 10
+- ExcludeArch for 32 bit ARM because rootcling_stage1 segfaults
+
* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.18.04-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
commit e9736ff4813e0946e69b69b0ca5d44d6d432942f
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Thu Jan 30 17:48:04 2020 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/root.spec b/root.spec
index 9a73900..32f8148 100644
--- a/root.spec
+++ b/root.spec
@@ -51,7 +51,7 @@
Name: root
Version: 6.18.04
%global libversion %(cut -d. -f 1-2 <<< %{version})
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@@ -3642,6 +3642,9 @@ fi
%endif
%changelog
+* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.18.04-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
* Wed Dec 04 2019 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-3
- Fix shebangs in root-cli for EPEL 8
commit a8a22f4c901157952fb7eafeb666e49812e2287c
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Wed Dec 4 15:11:16 2019 +0100
Fix shebangs in root-cli for EPEL 8
diff --git a/root.spec b/root.spec
index cdf9fa9..9a73900 100644
--- a/root.spec
+++ b/root.spec
@@ -51,7 +51,7 @@
Name: root
Version: 6.18.04
%global libversion %(cut -d. -f 1-2 <<< %{version})
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@@ -2093,6 +2093,9 @@ install -p -m 644 %{SOURCE7} %{buildroot}%{_pkgdocdir}
mkdir -p %{buildroot}%{_datadir}/%{name}/cli
mv %{buildroot}%{_libdir}/%{name}/cmdLineUtils.py* \
%{buildroot}%{_datadir}/%{name}/cli
+%if %{py3default}
+rm %{buildroot}%{_libdir}/%{name}/__pycache__/cmdLineUtils.*
+%endif
sed -e '/^\#!/d' -i %{buildroot}%{_datadir}/%{name}/cli/cmdLineUtils.py
# Move GDB pretty printers to auto load safe path
@@ -2314,8 +2317,7 @@ EOF
# Avoid /usr/bin/env shebangs (and adapt cli to cmdLineUtils location)
sed -e 's!/usr/bin/env bash!/bin/bash!' -i %{buildroot}%{_bindir}/root-config
-sed -e 's!/usr/bin/env python2!%{__python2}!' \
- -e 's!/usr/bin/env python3!%{__python3}!' \
+sed -e 's!/usr/bin/env python.*!%{__pythondef}!' \
-e '/import sys/d' \
-e '/import cmdLineUtils/iimport sys' \
-e '/import cmdLineUtils/isys.path.insert(0, "%{_datadir}/%{name}/cli")' \
@@ -2328,8 +2330,7 @@ sed -e 's!/usr/bin/env python2!%{__python2}!' \
%{buildroot}%{_bindir}/rootprint \
%{buildroot}%{_bindir}/rootrm \
%{buildroot}%{_bindir}/rootslimtree
-sed -e 's!/usr/bin/env python2!%{__python2}!' \
- -e 's!/usr/bin/env python3!%{__python3}!' \
+sed -e 's!/usr/bin/env python.*!%{__pythondef}!' \
-i %{buildroot}%{_bindir}/rootdrawtree
sed -e 's!/usr/bin/env python!%{__pythondef}!' \
-i %{buildroot}%{_datadir}/%{name}/dictpch/makepch.py \
@@ -3641,6 +3642,9 @@ fi
%endif
%changelog
+* Wed Dec 04 2019 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-3
+- Fix shebangs in root-cli for EPEL 8
+
* Tue Dec 03 2019 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-2
- Remove workarounds for RHEL 7 aarch64 (architecture dropped by EPEL 7)
- Enable QtWebEngine dependent modules on EPEL 8 (now available)
commit 69d6612d8675184db1718516f483b7b9a36cabbf
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Tue Dec 3 22:35:14 2019 +0100
Remove workarounds for RHEL 7 aarch64 (architecture dropped by EPEL 7)
Enable QtWebEngine dependent modules on EPEL 8 (now available)
diff --git a/JupyROOT-on-EPEL b/JupyROOT-on-EPEL
new file mode 100644
index 0000000..cf2b5e0
--- /dev/null
+++ b/JupyROOT-on-EPEL
@@ -0,0 +1,37 @@
+While all is fine in Fedora and all packages needed to run the JupyROOT
+notebook are available there, this is not true for EPEL.
+
+Hopefully the ipython/jupyter stack will at some point be available in
+EPEL too, but at this point in time it is not.
+
+However, it is possible to work around this issue using a python
+virtual environment.
+
+First, install the required root packages (as root):
+
+$ yum install root root-notebook python3-jupyroot
+
+Then return to your non-root user and create a python3 virtual
+environment:
+
+$ python3 -m venv ~/jupyter-env
+
+Activate the environment:
+
+$ . ~/jupyter-env/bin/activate
+
+Then install the missing packages in the virtual environment using pip:
+
+$ pip install notebook metakernel
+
+Then start the root notebook:
+
+$ PYTHONPATH=~/jupyter-env/lib/python3.6/site-packages root --notebook
+
+And that is it.
+
+If you want to start it again and you haven't removed the virtual
+environment, only two of the steps are necessary:
+
+$ . ~/jupyter-env/bin/activate
+$ PYTHONPATH=~/jupyter-env/lib/python3.6/site-packages root --notebook
diff --git a/root.spec b/root.spec
index d4b1d6b..cdf9fa9 100644
--- a/root.spec
+++ b/root.spec
@@ -34,12 +34,6 @@
%global root7 0
%endif
-%if %{?rhel}%{!?rhel:0} == 8
-# qt5-qtwebengine not yet available in EPEL 8 (only in -playground)
-# https://pagure.io/epel/issue/79
-%global qt5_qtwebengine_arches none
-%endif
-
%if %{?fedora}%{!?fedora:0} >= 28 || %{?rhel}%{!?rhel:0} >= 8
# Multi-threading support requires TBB version >= 2018
%global tbb 1
@@ -57,7 +51,7 @@
Name: root
Version: 6.18.04
%global libversion %(cut -d. -f 1-2 <<< %{version})
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@@ -78,6 +72,9 @@ Source4: %{name}.png
# MIME type file and icon
Source5: %{name}.xml
Source6: application-x-root.png
+# Instructions for setting up a python virtual environment
+# for running the JupyROOT notebook on EPEL
+Source7: JupyROOT-on-EPEL
# Use system fonts
Patch0: %{name}-fontconfig.patch
# Revert the removal of DataFrame for 32 bit architectures
@@ -226,13 +223,9 @@ BuildRequires: redhat-lsb-core
BuildRequires: font(freesans)
BuildRequires: font(freeserif)
BuildRequires: font(freemono)
-%if %{?fedora}%{!?fedora:0} >= 27 || %{?rhel}%{!?rhel:0} >= 8
BuildRequires: font(standardsymbolsps)
BuildRequires: font(d050000l)
BuildRequires: font(z003)
-%else
-BuildRequires: urw-fonts
-%endif
BuildRequires: font(droidsansfallback)
# With gdb installed test failures will show backtraces
BuildRequires: gdb
@@ -298,15 +291,7 @@ In particular it contains STIX version 0.9 that is used by TMathText.
%package doc
Summary: Documentation for the ROOT system
-%if %{?rhel}%{!?rhel:0} != 7
-# RHEL 7 is now RHEL 7.7, but aarch64 is stuck on RHEL 7.6.
-# Differences in graphics libraries (SVG support in doxygen)
-# between the releases result in that the content of the
-# documentation package differs between architectures in such a
-# way that the build is rejected as invalid if the documentation
-# package is noarch. Don't declare the package noarch in EPEL 7.
BuildArch: noarch
-%endif
License: LGPLv2+ and GPLv2+ and BSD
Requires: mathjax
@@ -354,13 +339,9 @@ Requires: xorg-x11-fonts-ISO8859-1-75dpi
Requires: font(freesans)
Requires: font(freeserif)
Requires: font(freemono)
-%if %{?fedora}%{!?fedora:0} >= 27 || %{?rhel}%{!?rhel:0} >= 8
Requires: font(standardsymbolsps)
Requires: font(d050000l)
Requires: font(z003)
-%else
-Requires: urw-fonts
-%endif
Requires: font(droidsansfallback)
Obsoletes: %{name}-ruby < 6.00.00
Obsoletes: %{name}-vdt < 6.10.00
@@ -472,12 +453,6 @@ TMVA interface used by JupyROOT.
%package -n python%{python3_pkgversion}-%{name}
Summary: Python extension for ROOT
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
-%if %{?rhel}%{!?rhel:0} == 7
-%ifarch aarch64
-# Workaround broken RHEL 7 aarch64
-Provides: python3-%{name} = %{version}-%{release}
-%endif
-%endif
Provides: %{name}-python%{python3_pkgversion} = %{version}-%{release}
Obsoletes: %{name}-python%{python3_pkgversion} < 6.08.00
Requires: %{name}-core%{?_isa} = %{version}-%{release}
@@ -491,12 +466,6 @@ provide a Python interface to ROOT, and a ROOT interface to Python.
%package -n python%{python3_pkgversion}-jupyroot
Summary: ROOT Jupyter kernel
%{?python_provide:%python_provide python%{python3_pkgversion}-jupyroot}
-%if %{?rhel}%{!?rhel:0} == 7
-%ifarch aarch64
-# Workaround broken RHEL 7 aarch64
-Provides: python3-jupyroot = %{version}-%{release}
-%endif
-%endif
Requires: python%{python3_pkgversion}-%{name}%{?_isa} = %{version}-%{release}
Requires: python%{python3_pkgversion}-jsmva = %{version}-%{release}
Requires: %{name}-core%{?_isa} = %{version}-%{release}
@@ -518,12 +487,6 @@ The Jupyter kernel for the ROOT notebook.
Summary: TMVA interface used by JupyROOT
BuildArch: noarch
%{?python_provide:%python_provide python%{python3_pkgversion}-jsmva}
-%if %{?rhel}%{!?rhel:0} == 7
-%ifarch aarch64
-# Workaround broken RHEL 7 aarch64
-Provides: python3-jsmva = %{version}-%{release}
-%endif
-%endif
Requires: %{name}-tmva = %{version}-%{release}
%description -n python%{python3_pkgversion}-jsmva
@@ -1634,6 +1597,11 @@ Summary: Static files for the Jupyter ROOT Notebook
BuildArch: noarch
Requires: %{name}-core = %{version}-%{release}
Requires: js-jsroot
+%if %{?fedora}%{!?fedora:0} >= 26
+# jupyter-notebook not available in
+# Fedora <= 25 or RHEL/EPEL - some functionality missing
+Requires: jupyter-notebook
+%endif
%description notebook
Javascript and style files for the Jupyter ROOT Notebook.
@@ -2118,6 +2086,9 @@ install -p -m 644 %{SOURCE5} %{buildroot}%{_datadir}/mime/packages
install -p -m 644 %{SOURCE6} \
%{buildroot}%{_datadir}/icons/hicolor/48x48/mimetypes
+# Additional documentation
+install -p -m 644 %{SOURCE7} %{buildroot}%{_pkgdocdir}
+
# Move python cli helper to its own directory
mkdir -p %{buildroot}%{_datadir}/%{name}/cli
mv %{buildroot}%{_libdir}/%{name}/cmdLineUtils.py* \
@@ -2133,11 +2104,7 @@ mv %{buildroot}%{_libdir}/%{name}/*-gdb.py \
%if %{?fedora}%{!?fedora:0} >= 28 || %{?rhel}%{!?rhel:0} >= 8
# This is the default for Fedora 30+, set it for Fedora 28-29
%global _python_bytecompile_extra 0
-%if %{py3default}
-%py_byte_compile %{__python3} %{buildroot}%{_datadir}/%{name}/cli
-%else
-%py_byte_compile %{__python2} %{buildroot}%{_datadir}/%{name}/cli
-%endif
+%py_byte_compile %{__pythondef} %{buildroot}%{_datadir}/%{name}/cli
%py_byte_compile %{__python3} %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}
%endif
@@ -2349,7 +2316,6 @@ EOF
sed -e 's!/usr/bin/env bash!/bin/bash!' -i %{buildroot}%{_bindir}/root-config
sed -e 's!/usr/bin/env python2!%{__python2}!' \
-e 's!/usr/bin/env python3!%{__python3}!' \
- -e 's!/usr/bin/env platform-python!%{__pythondef}!' \
-e '/import sys/d' \
-e '/import cmdLineUtils/iimport sys' \
-e '/import cmdLineUtils/isys.path.insert(0, "%{_datadir}/%{name}/cli")' \
@@ -2364,7 +2330,6 @@ sed -e 's!/usr/bin/env python2!%{__python2}!' \
%{buildroot}%{_bindir}/rootslimtree
sed -e 's!/usr/bin/env python2!%{__python2}!' \
-e 's!/usr/bin/env python3!%{__python3}!' \
- -e 's!/usr/bin/env platform-python!%{__pythondef}!' \
-i %{buildroot}%{_bindir}/rootdrawtree
sed -e 's!/usr/bin/env python!%{__pythondef}!' \
-i %{buildroot}%{_datadir}/%{name}/dictpch/makepch.py \
@@ -3625,6 +3590,7 @@ fi
%files notebook
%{_bindir}/rootnb.exe
%{_datadir}/%{name}/notebook
+%doc %{_pkgdocdir}/JupyROOT-on-EPEL
%if %{root7}
%files graf-gpadv7 -f includelist-graf2d-gpadv7
@@ -3675,6 +3641,10 @@ fi
%endif
%changelog
+* Tue Dec 03 2019 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-2
+- Remove workarounds for RHEL 7 aarch64 (architecture dropped by EPEL 7)
+- Enable QtWebEngine dependent modules on EPEL 8 (now available)
+
* Mon Sep 30 2019 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-1
- Update to 6.18.04
- First build for EPEL 8
commit 3021cd531dcb990c1a3b30b9eda198adee4855eb
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Fri Oct 11 13:19:37 2019 +0200
Exclude failing test on Fedora 29 ppc64le
diff --git a/root.spec b/root.spec
index 341aaa2..d4b1d6b 100644
--- a/root.spec
+++ b/root.spec
@@ -2610,8 +2610,8 @@ tutorial-v7-draw_subpads.cxx"
%endif
%ifarch ppc64le
-%if %{?fedora}%{!?fedora:0} == 30
-# This test fails on Fedora 30 ppc64le with the following error:
+%if %{?fedora}%{!?fedora:0} == 29 || %{?fedora}%{!?fedora:0} == 30
+# This test fails on Fedora 29 and 30 ppc64le with the following error:
# cling::DynamicLibraryManager::loadLibrary():
# /lib64/libGLdispatch.so.0: cannot allocate memory in static TLS block
# Error in <TInterpreter::TCling::AutoLoad>:
4 years, 2 months
Architecture specific change in rpms/root.git
by githook-noreply@fedoraproject.org
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=fba71390e25b3....
Change:
-%ifarch ppc64le
Thanks.
Full change:
============
commit fba71390e25b305d35bd7bb28a909f03ece6da25
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Mon Mar 23 10:03:24 2020 +0100
Update to 6.20.02
Drop patches accepted upstream
root-dont-download-input-file-if-it-already-exists.patch
root-fix-plugin-definition.patch
root-man-install.patch
root-pretty-printers.patch
root-python3.patch
root-stress-aarch64-ppc64le.patch
Drop patches no longer relevant due to changes to the code
root-missing-include-string.patch
root-static-constexpr.patch
Add workaround for PyROOT issues on ppc64le in EPEL 7
root-epel7-ppc64le-pyroot.patch (patch conditionally applied)
Fix path to moved data file in tutorial
root-moved-file.patch
Split the root-roofit subpackage into four different packages
root-roofit, root-roofit-core, root-roofit-more and root-roostats
The root-roofit-more library splits out the part of roofit that depends on
the root-mathmore package
New subpackage: root-histv7
diff --git a/root-32bit-dataframe.patch b/root-32bit-dataframe.patch
index dd71ad6..e47b913 100644
--- a/root-32bit-dataframe.patch
+++ b/root-32bit-dataframe.patch
@@ -1,7 +1,7 @@
-diff -ur root-6.18.04.orig/bindings/pyroot/ROOT.py root-6.18.04/bindings/pyroot/ROOT.py
---- root-6.18.04.orig/bindings/pyroot/ROOT.py 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/ROOT.py 2020-03-13 19:58:32.330575246 +0100
-@@ -449,9 +449,7 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/ROOT.py root-6.20.02/bindings/pyroot/ROOT.py
+--- root-6.20.02.orig/bindings/pyroot/ROOT.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/ROOT.py 2020-03-15 19:50:25.303179253 +0100
+@@ -438,9 +438,7 @@
# This function is injected as method to the respective classes in Pythonize.cxx.
_root._RDataFrameAsNumpy = _RDataFrameAsNumpy
@@ -12,26 +12,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/ROOT.py root-6.18.04/bindings/pyroot/
### RINT command emulation ------------------------------------------------------
-diff -ur root-6.18.04.orig/bindings/pyroot/test/CMakeLists.txt root-6.18.04/bindings/pyroot/test/CMakeLists.txt
---- root-6.18.04.orig/bindings/pyroot/test/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/test/CMakeLists.txt 2020-03-13 19:58:32.330575246 +0100
-@@ -4,10 +4,7 @@
- ROOT_ADD_PYUNITTEST(pyroot_rvec rvec.py)
- if(NUMPY_FOUND)
- ROOT_ADD_PYUNITTEST(pyroot_array_interface array_interface.py)
-- # this excludes RDF for 32 bits builds because of clang/gcc abi issues
-- if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
-- ROOT_ADD_PYUNITTEST(pyroot_rdataframe_asnumpy rdataframe_asnumpy.py)
-- ROOT_ADD_PYUNITTEST(pyroot_ttree_asmatrix ttree_asmatrix.py)
-- endif()
-+ ROOT_ADD_PYUNITTEST(pyroot_rdataframe_asnumpy rdataframe_asnumpy.py)
-+ ROOT_ADD_PYUNITTEST(pyroot_ttree_asmatrix ttree_asmatrix.py)
- endif()
-
-diff -ur root-6.18.04.orig/build/unix/makepchinput.py root-6.18.04/build/unix/makepchinput.py
---- root-6.18.04.orig/build/unix/makepchinput.py 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/build/unix/makepchinput.py 2020-03-13 19:58:32.331575236 +0100
-@@ -263,9 +263,6 @@
+diff -ur root-6.20.02.orig/build/unix/makepchinput.py root-6.20.02/build/unix/makepchinput.py
+--- root-6.20.02.orig/build/unix/makepchinput.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/build/unix/makepchinput.py 2020-03-15 19:50:25.304179242 +0100
+@@ -252,9 +252,6 @@
"math/vdt",
"tmva/rmva"]
@@ -41,39 +25,9 @@ diff -ur root-6.18.04.orig/build/unix/makepchinput.py root-6.18.04/build/unix/ma
accepted = isAnyPatternInString(PCHPatternsWhitelist,dirName) and \
not isAnyPatternInString(PCHPatternsBlacklist,dirName)
-diff -ur root-6.18.04.orig/config/root-config.in root-6.18.04/config/root-config.in
---- root-6.18.04.orig/config/root-config.in 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/config/root-config.in 2020-03-13 20:06:39.876361426 +0100
-@@ -76,10 +76,7 @@
- -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread\
- -lMultiProc"
-
--if [ "@UNIX@" != "1" ] || [ "@CMAKE_SIZEOF_VOID_P@" != "4" ]; then
-- rootlibs="$rootlibs -lROOTDataFrame"
--fi
--
-+rootlibs="$rootlibs -lROOTDataFrame"
-
- if test "$platform" = "win32"; then
- rootulibs="-include:_G__cpp_setupG__Net \
-diff -ur root-6.18.04.orig/tree/dataframe/CMakeLists.txt root-6.18.04/tree/dataframe/CMakeLists.txt
---- root-6.18.04.orig/tree/dataframe/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/CMakeLists.txt 2020-03-13 19:58:32.332575225 +0100
-@@ -3,11 +3,6 @@
- # @author Danilo Piparo CERN, Pere Mato CERN
- ############################################################################
-
--# Disable RDataFrame on 32-bit UNIX platforms due to ROOT-9236
--if(UNIX AND CMAKE_SIZEOF_VOID_P EQUAL 4)
-- return()
--endif()
--
- if(arrow)
- list(APPEND RDATAFRAME_EXTRA_HEADERS ROOT/RArrowDS.hxx)
- list(APPEND RDATAFRAME_EXTRA_INCLUDES -I${ARROW_INCLUDE_DIR})
-diff -ur root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx root-6.18.04/tree/dataframe/test/dataframe_cache.cxx
---- root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/dataframe_cache.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/dataframe_cache.cxx root-6.20.02/tree/dataframe/test/dataframe_cache.cxx
+--- root-6.20.02.orig/tree/dataframe/test/dataframe_cache.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/dataframe_cache.cxx 2020-03-15 19:50:09.075351525 +0100
@@ -224,8 +224,6 @@
}
@@ -89,9 +43,9 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx root-6.18.04/
}
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx root-6.18.04/tree/dataframe/test/datasource_arrow.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_arrow.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_arrow.cxx root-6.20.02/tree/dataframe/test/datasource_arrow.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_arrow.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_arrow.cxx 2020-03-15 19:50:09.075351525 +0100
@@ -163,8 +163,6 @@
}
#endif
@@ -107,10 +61,10 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx root-6.18.04
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx root-6.18.04/tree/dataframe/test/datasource_csv.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_csv.cxx 2020-03-13 20:26:14.841831219 +0100
-@@ -193,8 +193,6 @@
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_csv.cxx root-6.20.02/tree/dataframe/test/datasource_csv.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_csv.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_csv.cxx 2020-03-15 19:57:05.490930922 +0100
+@@ -195,8 +195,6 @@
}
#endif
@@ -119,15 +73,15 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx root-6.18.04/t
TEST(RCsvDS, FromARDF)
{
std::unique_ptr<RDataSource> tds(new RCsvDS(fileName0));
-@@ -290,5 +288,3 @@
+@@ -292,5 +290,3 @@
}
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx root-6.18.04/tree/dataframe/test/datasource_root.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_root.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_root.cxx root-6.20.02/tree/dataframe/test/datasource_root.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_root.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_root.cxx 2020-03-15 19:50:09.076351514 +0100
@@ -117,8 +117,6 @@
}
#endif
@@ -143,9 +97,9 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx root-6.18.04/
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx root-6.18.04/tree/dataframe/test/datasource_trivial.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_trivial.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_trivial.cxx root-6.20.02/tree/dataframe/test/datasource_trivial.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_trivial.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_trivial.cxx 2020-03-15 19:50:09.076351514 +0100
@@ -132,8 +132,6 @@
EXPECT_EQ(*tdfAll.Count(), 20ULL);
}
@@ -161,11 +115,11 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx root-6.18.
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tutorials/CMakeLists.txt root-6.18.04/tutorials/CMakeLists.txt
---- root-6.18.04.orig/tutorials/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tutorials/CMakeLists.txt 2020-03-13 19:58:32.333575214 +0100
-@@ -212,10 +212,6 @@
- v7/ntuple/ntpl004_dimuon.C)
+diff -ur root-6.20.02.orig/tutorials/CMakeLists.txt root-6.20.02/tutorials/CMakeLists.txt
+--- root-6.20.02.orig/tutorials/CMakeLists.txt 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tutorials/CMakeLists.txt 2020-03-15 19:59:35.808335176 +0100
+@@ -255,10 +255,6 @@
+ set(root7_veto v7/ntuple/ntpl004_dimuon.C)
endif()
-if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
@@ -174,26 +128,20 @@ diff -ur root-6.18.04.orig/tutorials/CMakeLists.txt root-6.18.04/tutorials/CMake
-
#---These ones are disabled !!! ------------------------------------
set(extra_veto
- htmlex.C
-@@ -266,7 +262,6 @@
+ legacy/benchmarks.C
+@@ -311,7 +307,6 @@
${classic_veto}
${pythia_veto}
${root7_veto}
- ${bits32_veto}
${xrootd_veto}
- )
-
-@@ -424,13 +419,6 @@
-
+ ${mlp_veto}
+ ${spectrum_veto}
+@@ -513,7 +508,6 @@
list(REMOVE_ITEM pytutorials ${pyveto})
-- if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
-- set(bits32_veto_py dataframe/*.py)
-- file(GLOB bits32_veto_py RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} dataframe/*.py)
-- list(REMOVE_ITEM pytutorials ${bits32_veto_py})
-- list(REMOVE_ITEM pytutorials pyroot/pyroot002_TTreeAsMatrix.py)
-- endif()
--
- #---Python tutorials dependencies--------------------------------------
- set(pyroot-ntuple1-depends tutorial-pyroot-hsimple-py)
- set(pyroot-h1draw-depends tutorial-pyroot-hsimple-py)
+ if(NOT dataframe)
+- set(dataframe_veto_py dataframe/*.py)
+ file(GLOB dataframe_veto_py RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} dataframe/*.py tmva/tmva*.py)
+ list(REMOVE_ITEM pytutorials ${dataframe_veto_py})
+ list(REMOVE_ITEM pytutorials pyroot/pyroot002_TTreeAsMatrix.py)
diff --git a/root-doc-no-notebooks.patch b/root-doc-no-notebooks.patch
index 23ca293..f94d31f 100644
--- a/root-doc-no-notebooks.patch
+++ b/root-doc-no-notebooks.patch
@@ -1,6 +1,7 @@
---- root-6.16.00.orig/documentation/doxygen/filter.cxx 2019-02-14 14:44:47.132678348 +0100
-+++ root-6.16.00/documentation/doxygen/filter.cxx 2019-02-14 14:45:00.596532589 +0100
-@@ -367,16 +367,7 @@
+diff -ur root-6.20.02.orig/documentation/doxygen/filter.cxx root-6.20.02/documentation/doxygen/filter.cxx
+--- root-6.20.02.orig/documentation/doxygen/filter.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/documentation/doxygen/filter.cxx 2020-03-15 20:05:59.047270429 +0100
+@@ -378,16 +378,7 @@
// notebook found
if (gLineString.find("\\notebook") != string::npos) {
@@ -13,7 +14,7 @@
- else{
- gLineString = "/// ";
- }
-- gLineString += StringFormat( "\\htmlonly <a href=\"http://nbviewer.jupyter.org/url/root.cern.ch/doc/master/notebooks/%s.nbco..." target=\"_blank\"><img src= notebook.gif alt=\"View in nbviewer\" style=\"height:1em\" ></a> <a href=\"https://cern.ch/swanserver/cgi-bin/go?projurl=https://root.cern.ch/doc/ma..." target=\"_blank\"><img src=\"http://swanserver.web.cern.ch/swanserver/images/badge_swan_white_150.png\" alt=\"Open in SWAN\" style=\"height:1em\" ></a> \\endhtmlonly \n", gMacroName.c_str() , gMacroName.c_str());
+- gLineString += StringFormat( "\\htmlonly <a href=\"https://nbviewer.jupyter.org/url/root.cern/doc/master/notebooks/%s.nbconv..." target=\"_blank\"><img src= notebook.gif alt=\"View in nbviewer\" style=\"height:1em\" ></a> <a href=\"https://cern.ch/swanserver/cgi-bin/go?projurl=https://root.cern/doc/maste..." target=\"_blank\"><img src=\"https://swanserver.web.cern.ch/swanserver/images/badge_swan_white_150.png\" alt=\"Open in SWAN\" style=\"height:1em\" ></a> \\endhtmlonly \n", gMacroName.c_str() , gMacroName.c_str());
+ gLineString = "";
}
diff --git a/root-dont-download-input-file-if-it-already-exists.patch b/root-dont-download-input-file-if-it-already-exists.patch
deleted file mode 100644
index 78557b2..0000000
--- a/root-dont-download-input-file-if-it-already-exists.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 3207d634576d48462b41b4aec0e9198293aa4a9f Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Fri, 28 Jun 2019 09:23:19 +0200
-Subject: [PATCH] Don't download input file if it already exists This allows
- running the tests with pre-fetched file in environments without network -
- like e.g. the Fedora package build server
-
----
- tutorials/dataframe/df014_CSVDataSource.C | 3 ++-
- tutorials/dataframe/df014_CSVDataSource.py | 4 +++-
- tutorials/dataframe/df015_LazyDataSource.C | 3 ++-
- 3 files changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/tutorials/dataframe/df014_CSVDataSource.C b/tutorials/dataframe/df014_CSVDataSource.C
-index 18a6a5afaf..9f1b69688a 100644
---- a/tutorials/dataframe/df014_CSVDataSource.C
-+++ b/tutorials/dataframe/df014_CSVDataSource.C
-@@ -23,7 +23,8 @@ int df014_CSVDataSource()
- // The types of the columns will be automatically inferred.
- auto fileNameUrl = "http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv";
- auto fileName = "df014_CsvDataSource_MuRun2010B_cpp.csv";
-- TFile::Cp(fileNameUrl, fileName);
-+ if(gSystem->AccessPathName(fileName))
-+ TFile::Cp(fileNameUrl, fileName);
- auto tdf = ROOT::RDF::MakeCsvDataFrame(fileName);
-
- // Now we will apply a first filter based on two columns of the CSV,
-diff --git a/tutorials/dataframe/df014_CSVDataSource.py b/tutorials/dataframe/df014_CSVDataSource.py
-index dd4823d62f..a8668f5e49 100644
---- a/tutorials/dataframe/df014_CSVDataSource.py
-+++ b/tutorials/dataframe/df014_CSVDataSource.py
-@@ -18,12 +18,14 @@
- ## \author Enric Tejedor
-
- import ROOT
-+import os
-
- # Let's first create a RDF that will read from the CSV file.
- # The types of the columns will be automatically inferred.
- fileNameUrl = "http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv"
- fileName = "df014_CsvDataSource_MuRun2010B_py.csv"
--ROOT.TFile.Cp(fileNameUrl, fileName)
-+if not os.path.isfile(fileName):
-+ ROOT.TFile.Cp(fileNameUrl, fileName)
-
- MakeCsvDataFrame = ROOT.ROOT.RDF.MakeCsvDataFrame
- tdf = MakeCsvDataFrame(fileName)
-diff --git a/tutorials/dataframe/df015_LazyDataSource.C b/tutorials/dataframe/df015_LazyDataSource.C
-index fc5567b5bd..f8623ddce4 100644
---- a/tutorials/dataframe/df015_LazyDataSource.C
-+++ b/tutorials/dataframe/df015_LazyDataSource.C
-@@ -25,7 +25,8 @@ int df015_LazyDataSource()
- // See the tutorial relative to CSV data sources for more details!
- auto fileNameUrl = "http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv";
- auto fileName = "df015_CsvDataSource_MuRun2010B.csv";
-- TFile::Cp(fileNameUrl, fileName);
-+ if(gSystem->AccessPathName(fileName))
-+ TFile::Cp(fileNameUrl, fileName);
-
- auto csv_rdf = MakeCsvDataFrame(fileName);
-
---
-2.21.0
-
diff --git a/root-epel7-ppc64le-pyroot.patch b/root-epel7-ppc64le-pyroot.patch
new file mode 100644
index 0000000..2d9c400
--- /dev/null
+++ b/root-epel7-ppc64le-pyroot.patch
@@ -0,0 +1,23 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/Cppyy.cxx root-6.20.02/bindings/pyroot/src/Cppyy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/Cppyy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/Cppyy.cxx 2020-03-21 14:10:09.322489811 +0100
+@@ -74,10 +74,6 @@
+ class ApplicationStarter {
+ public:
+ ApplicationStarter() {
+- // Insure ROOT's atexit is executed *after* the atexit that calls
+- // ApplicationStarter's destructor, by forcing the ROOT's atexit
+- // registration now.
+- TROOT::Initialize();
+ // setup dummy holders for global and std namespaces
+ assert( g_classrefs.size() == GLOBAL_HANDLE );
+ g_name2classrefidx[ "" ] = GLOBAL_HANDLE;
+@@ -90,8 +86,6 @@
+ }
+
+ ~ApplicationStarter() {
+- for ( auto ifunc : g_method2callfunc )
+- gInterpreter->CallFunc_Delete( ifunc.second );
+ }
+ } _applicationStarter;
+
diff --git a/root-fix-plugin-definition.patch b/root-fix-plugin-definition.patch
deleted file mode 100644
index 3f3d3d5..0000000
--- a/root-fix-plugin-definition.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 444b03b6e3ce0554f687443a42310fe01fba276c Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Thu, 27 Jun 2019 18:24:58 +0200
-Subject: [PATCH 2/2] Use the correct library name in the plugin definitions
-
----
- etc/plugins/TFile/P090_TSQLFile.C | 4 ++--
- etc/plugins/TFileStager/P010_TXNetFileStager.C | 2 +-
- etc/plugins/TGuiFactory/P030_TWebGuiFactory.C | 2 +-
- etc/plugins/TImagePlugin/P010_TASPluginGS.C | 6 +++---
- etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C | 2 +-
- etc/plugins/TVirtualX/P060_TWebVirtualX.C | 2 +-
- 6 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/etc/plugins/TFile/P090_TSQLFile.C b/etc/plugins/TFile/P090_TSQLFile.C
-index bc006053d4..a6441ffbef 100644
---- a/etc/plugins/TFile/P090_TSQLFile.C
-+++ b/etc/plugins/TFile/P090_TSQLFile.C
-@@ -1,7 +1,7 @@
- void P090_TSQLFile()
- {
- gPluginMgr->AddHandler("TFile", "^mysql:", "TSQLFile",
-- "SQL", "TSQLFile(const char*,Option_t*,const char*,const char*)");
-+ "SQLIO", "TSQLFile(const char*,Option_t*,const char*,const char*)");
- gPluginMgr->AddHandler("TFile", "^oracle:", "TSQLFile",
-- "SQL", "TSQLFile(const char*,Option_t*,const char*,const char*)");
-+ "SQLIO", "TSQLFile(const char*,Option_t*,const char*,const char*)");
- }
-diff --git a/etc/plugins/TFileStager/P010_TXNetFileStager.C b/etc/plugins/TFileStager/P010_TXNetFileStager.C
-index 884ce7e103..66cd8d575e 100644
---- a/etc/plugins/TFileStager/P010_TXNetFileStager.C
-+++ b/etc/plugins/TFileStager/P010_TXNetFileStager.C
-@@ -2,7 +2,7 @@ void P010_TXNetFileStager()
- {
- if (!gEnv->GetValue("XNet.UseOldClient", 0)) {
- gPluginMgr->AddHandler("TFileStager", "^[x]?root:", "TNetXNGFileStager",
-- "NetXNG", "TNetXNGFileStager(const char *)");
-+ "NetxNG", "TNetXNGFileStager(const char *)");
- } else {
- gPluginMgr->AddHandler("TFileStager", "^[x]?root:", "TXNetFileStager",
- "Netx", "TXNetFileStager(const char *)");
-diff --git a/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C b/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C
-index 873ba03ebd..fe83cf06e1 100644
---- a/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C
-+++ b/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C
-@@ -1,4 +1,4 @@
- void P030_TWebGuiFactory()
- {
-- gPluginMgr->AddHandler("TGuiFactory", "web", "TWebGuiFactory", "WebGui", "TWebGuiFactory()");
-+ gPluginMgr->AddHandler("TGuiFactory", "web", "TWebGuiFactory", "WebGui6", "TWebGuiFactory()");
- }
-diff --git a/etc/plugins/TImagePlugin/P010_TASPluginGS.C b/etc/plugins/TImagePlugin/P010_TASPluginGS.C
-index c2e3e45c1a..9e401e74f1 100644
---- a/etc/plugins/TImagePlugin/P010_TASPluginGS.C
-+++ b/etc/plugins/TImagePlugin/P010_TASPluginGS.C
-@@ -1,9 +1,9 @@
- void P010_TASPluginGS()
- {
- gPluginMgr->AddHandler("TImagePlugin", "ps", "TASPluginGS",
-- "ASPluginGS", "TASPluginGS(const char*)");
-+ "ASImage", "TASPluginGS(const char*)");
- gPluginMgr->AddHandler("TImagePlugin", "eps", "TASPluginGS",
-- "ASPluginGS", "TASPluginGS(const char*)");
-+ "ASImage", "TASPluginGS(const char*)");
- gPluginMgr->AddHandler("TImagePlugin", "pdf", "TASPluginGS",
-- "ASPluginGS", "TASPluginGS(const char*)");
-+ "ASImage", "TASPluginGS(const char*)");
- }
-diff --git a/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C b/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C
-index 2a919023f9..f1be760487 100644
---- a/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C
-+++ b/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C
-@@ -1,5 +1,5 @@
- void P010_TGraphPainter()
- {
- gPluginMgr->AddHandler("TVirtualGraphPainter", "*", "TGraphPainter",
-- "GraphPainter", "TGraphPainter()");
-+ "HistPainter", "TGraphPainter()");
- }
-diff --git a/etc/plugins/TVirtualX/P060_TWebVirtualX.C b/etc/plugins/TVirtualX/P060_TWebVirtualX.C
-index e624c34e7b..26f9650e94 100644
---- a/etc/plugins/TVirtualX/P060_TWebVirtualX.C
-+++ b/etc/plugins/TVirtualX/P060_TWebVirtualX.C
-@@ -1,4 +1,4 @@
- void P060_TWebVirtualX()
- {
-- gPluginMgr->AddHandler("TVirtualX", "web", "TWebVirtualX", "WebGui", "TWebVirtualX(const char*,const char*)");
-+ gPluginMgr->AddHandler("TVirtualX", "web", "TWebVirtualX", "WebGui6", "TWebVirtualX(const char*,const char*)");
- }
---
-2.21.0
-
diff --git a/root-jupyroot-static.patch b/root-jupyroot-static.patch
index bb8e721..2cdb5aa 100644
--- a/root-jupyroot-static.patch
+++ b/root-jupyroot-static.patch
@@ -1,6 +1,6 @@
-diff -ur root-6.18.00.orig/bindings/pyroot/JsMVA/JPyInterface.py root-6.18.00/bindings/pyroot/JsMVA/JPyInterface.py
---- root-6.18.00.orig/bindings/pyroot/JsMVA/JPyInterface.py 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/bindings/pyroot/JsMVA/JPyInterface.py 2019-06-28 22:54:03.937480738 +0200
+diff -ur root-6.20.02.orig/bindings/pyroot/JsMVA/JPyInterface.py root-6.20.02/bindings/pyroot/JsMVA/JPyInterface.py
+--- root-6.20.02.orig/bindings/pyroot/JsMVA/JPyInterface.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/JsMVA/JPyInterface.py 2020-03-15 20:07:18.921423559 +0100
@@ -188,7 +188,7 @@
## Class for creating the output scripts and inserting them to cell output
class JsDraw:
@@ -10,21 +10,21 @@ diff -ur root-6.18.00.orig/bindings/pyroot/JsMVA/JPyInterface.py root-6.18.00/bi
## String containing the link to JavaScript files
__jsMVASourceDir = __jsMVARepo + "/js"
-diff -ur root-6.18.00.orig/bindings/pyroot/JupyROOT/helpers/utils.py root-6.18.00/bindings/pyroot/JupyROOT/helpers/utils.py
---- root-6.18.00.orig/bindings/pyroot/JupyROOT/helpers/utils.py 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/bindings/pyroot/JupyROOT/helpers/utils.py 2019-06-28 22:54:03.938480727 +0200
-@@ -39,7 +39,7 @@
- _jsNotDrawableClassesPatterns = ["TEve*","TF3","TPolyLine3D"]
-
-
--_jsROOTSourceDir = "https://root.cern.ch/js/notebook/"
-+_jsROOTSourceDir = "/static/jsroot/"
- _jsCanvasWidth = 800
- _jsCanvasHeight = 600
-
-diff -ur root-6.18.00.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.18.00/etc/notebook/JsMVA/js/JsMVA.js
---- root-6.18.00.orig/etc/notebook/JsMVA/js/JsMVA.js 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/etc/notebook/JsMVA/js/JsMVA.js 2019-06-28 22:54:03.938480727 +0200
+diff -ur root-6.20.02.orig/bindings/pyroot/JupyROOT/helpers/utils.py root-6.20.02/bindings/pyroot/JupyROOT/helpers/utils.py
+--- root-6.20.02.orig/bindings/pyroot/JupyROOT/helpers/utils.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/JupyROOT/helpers/utils.py 2020-03-15 20:07:18.921423559 +0100
+@@ -82,7 +82,7 @@
+ function requirejs_success(base_url) {{
+ return function() {{
+ require.config({{
+- baseUrl: base_url + 'static/'
++ baseUrl: base_url + 'static/jsroot/'
+ }});
+ display_{jsDivId}();
+ }}
+diff -ur root-6.20.02.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.20.02/etc/notebook/JsMVA/js/JsMVA.js
+--- root-6.20.02.orig/etc/notebook/JsMVA/js/JsMVA.js 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/etc/notebook/JsMVA/js/JsMVA.js 2020-03-15 20:07:18.922423549 +0100
@@ -16,7 +16,7 @@
(function(factory){
@@ -34,14 +34,14 @@ diff -ur root-6.18.00.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.18.00/etc/noteb
var url = "";
if (requirejs.s.contexts.hasOwnProperty("_")) {
-diff -ur root-6.18.00.orig/etc/notebook/JsMVA/js/NetworkDesigner.js root-6.18.00/etc/notebook/JsMVA/js/NetworkDesigner.js
---- root-6.18.00.orig/etc/notebook/JsMVA/js/NetworkDesigner.js 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/etc/notebook/JsMVA/js/NetworkDesigner.js 2019-06-29 07:08:46.582682582 +0200
+diff -ur root-6.20.02.orig/etc/notebook/JsMVA/js/NetworkDesigner.js root-6.20.02/etc/notebook/JsMVA/js/NetworkDesigner.js
+--- root-6.20.02.orig/etc/notebook/JsMVA/js/NetworkDesigner.js 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/etc/notebook/JsMVA/js/NetworkDesigner.js 2020-03-15 20:07:18.922423549 +0100
@@ -19,7 +19,7 @@
paths: {
"jquery-connections": baseURL + "jquery.connections.min",
"jquery-timing": baseURL + "jquery-timing.min",
-- "d3": "https://root.cern.ch/js/notebook/scripts/d3.min"
+- "d3": "/static/scripts/d3.min"
+ "d3": "/static/jsroot/scripts/d3.min"
},
shim: {
diff --git a/root-man-install.patch b/root-man-install.patch
deleted file mode 100644
index b5d54e1..0000000
--- a/root-man-install.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 3f1e65654ddec561e5161d0f62367497d16aa223 Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Thu, 27 Jun 2019 18:22:13 +0200
-Subject: [PATCH 1/2] Install generated man pages in the correct subdirectory
- (man/man1)
-
----
- cmake/modules/RootNewMacros.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/modules/RootNewMacros.cmake b/cmake/modules/RootNewMacros.cmake
-index 0780ea5a5a..58e403a249 100644
---- a/cmake/modules/RootNewMacros.cmake
-+++ b/cmake/modules/RootNewMacros.cmake
-@@ -1540,5 +1540,5 @@ function(generateManual name input output)
- ${PYTHON_EXECUTABLE} -B ${CMAKE_SOURCE_DIR}/build/misc/argparse2help.py ${input} ${output}
- )
-
-- install(FILES ${output} DESTINATION ${CMAKE_INSTALL_MANDIR})
-+ install(FILES ${output} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
- endfunction()
---
-2.21.0
-
diff --git a/root-memory-arm-x86.patch b/root-memory-arm-x86.patch
index 54c4149..2de8e36 100644
--- a/root-memory-arm-x86.patch
+++ b/root-memory-arm-x86.patch
@@ -6,8 +6,8 @@
+# Reduce memory usage during linking on ARM and x86 by generating minimal debuginfo
+if(ROOT_ARCHITECTURE STREQUAL "linuxarm" OR ROOT_ARCHITECTURE STREQUAL "linux")
-+ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-+ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}")
++ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
++ string(REPLACE " -g " " -g1 " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+endif()
+
set(LLVM_TARGETS_TO_BUILD ${ROOT_CLING_TARGET} CACHE STRING "Semicolon-separated list of targets to build, or \"all\".")
diff --git a/root-missing-include-string.patch b/root-missing-include-string.patch
deleted file mode 100644
index f870e14..0000000
--- a/root-missing-include-string.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx
---- root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2020-01-23 11:27:58.637463837 +0100
-@@ -17,6 +17,7 @@
- #define ROOT7_RColor
-
- #include <array>
-+#include <string>
- #include <vector>
-
- namespace ROOT {
diff --git a/root-moved-file.patch b/root-moved-file.patch
new file mode 100644
index 0000000..948a78b
--- /dev/null
+++ b/root-moved-file.patch
@@ -0,0 +1,27 @@
+From 6492170d74f464286de22c40554adbd400ec838b Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Fri, 13 Mar 2020 12:53:34 +0100
+Subject: [PATCH] The file was moved - update path
+
+---
+ tutorials/legacy/mlp/mlpHiggs.C | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tutorials/legacy/mlp/mlpHiggs.C b/tutorials/legacy/mlp/mlpHiggs.C
+index 49d3ca2b30..0516ed7c50 100644
+--- a/tutorials/legacy/mlp/mlpHiggs.C
++++ b/tutorials/legacy/mlp/mlpHiggs.C
+@@ -18,8 +18,8 @@ void mlpHiggs(Int_t ntrain=100) {
+ TFile *input = 0;
+ if (!gSystem->AccessPathName(fname)) {
+ input = TFile::Open(fname);
+- } else if (!gSystem->AccessPathName(Form("%s/mlp/%s", TROOT::GetTutorialDir().Data(), fname))) {
+- input = TFile::Open(Form("%s/mlp/%s", TROOT::GetTutorialDir().Data(), fname));
++ } else if (!gSystem->AccessPathName(Form("%s/legacy/mlp/%s", TROOT::GetTutorialDir().Data(), fname))) {
++ input = TFile::Open(Form("%s/legacy/mlp/%s", TROOT::GetTutorialDir().Data(), fname));
+ } else {
+ printf("accessing %s file from http://root.cern.ch/files\n",fname);
+ input = TFile::Open(Form("http://root.cern.ch/files/%s",fname));
+--
+2.24.1
+
diff --git a/root-pretty-printers.patch b/root-pretty-printers.patch
deleted file mode 100644
index 4ded487..0000000
--- a/root-pretty-printers.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 88f6e1b332489582f457d17afd6a2a6f6a4f988d Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Mon, 1 Jul 2019 08:56:27 +0200
-Subject: [PATCH] Install GDB pretty printers with correct filename when using
- soversion
-
-The name of the pretty printer script must match the name of the
-binary, not a symlink. When soversion is used the unversioned .so file
-is a symlink to the versioned library file.
----
- build/CMakeLists.txt | 23 +++++++++++++++++------
- 1 file changed, 17 insertions(+), 6 deletions(-)
-
-diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt
-index b84481041b..03644b6c00 100644
---- a/build/CMakeLists.txt
-+++ b/build/CMakeLists.txt
-@@ -20,12 +20,23 @@ ROOT_EXECUTABLE(rmkdepend
- )
-
- IF(CMAKE_BUILD_TYPE MATCHES "Debug|RelWithDebInfo")
-- file(COPY "gdbPrinters/"
-- DESTINATION ${CMAKE_BINARY_DIR}/lib
-- FILES_MATCHING PATTERN "*-gdb.py")
-+ file(GLOB PRETTY_PRINTERS "gdbPrinters/*.so-gdb.py")
-+ set(PRETTY_PRINTER_DESTS)
-+ foreach(PRETTY_PRINTER ${PRETTY_PRINTERS})
-+ get_filename_component(PRETTY_PRINTER_DEST ${PRETTY_PRINTER} NAME)
-+ if(soversion)
-+ string(REPLACE ".so-gdb.py" ".so.${ROOT_VERSION}-gdb.py"
-+ PRETTY_PRINTER_DEST ${PRETTY_PRINTER_DEST})
-+ endif(soversion)
-+ set(PRETTY_PRINTER_DEST ${CMAKE_BINARY_DIR}/lib/${PRETTY_PRINTER_DEST})
-+ add_custom_command(OUTPUT ${PRETTY_PRINTER_DEST}
-+ COMMAND ${CMAKE_COMMAND} -E copy ${PRETTY_PRINTER} ${PRETTY_PRINTER_DEST}
-+ DEPENDS ${PRETTY_PRINTER})
-+ list(APPEND PRETTY_PRINTER_DESTS ${PRETTY_PRINTER_DEST})
-+ endforeach()
-+ add_custom_target(copy_pretty_printers ALL DEPENDS ${PRETTY_PRINTER_DESTS})
-
-- file(GLOB PRETTY_PRINTERS "gdbPrinters/*-gdb.py")
-- install(FILES ${PRETTY_PRINTERS}
-- DESTINATION lib
-+ install(FILES ${PRETTY_PRINTER_DESTS}
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
- CONFIGURATIONS Debug RelWithDebInfo)
- ENDIF()
---
-2.21.0
-
diff --git a/root-python3.8-object.patch b/root-python3.8-object.patch
index ed4ef9f..2447e31 100644
--- a/root-python3.8-object.patch
+++ b/root-python3.8-object.patch
@@ -1,7 +1,7 @@
-diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bindings/pyroot/src/MethodProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/MethodProxy.cxx 2020-03-13 16:46:56.538971601 +0100
-@@ -839,7 +839,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/MethodProxy.cxx root-6.20.02/bindings/pyroot/src/MethodProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/MethodProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/MethodProxy.cxx 2020-03-15 19:43:20.946684699 +0100
+@@ -845,7 +845,8 @@
sizeof(MethodProxy), // tp_basicsize
0, // tp_itemsize
(destructor)mp_dealloc, // tp_dealloc
@@ -11,7 +11,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bind
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -888,6 +889,12 @@
+@@ -894,6 +895,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -24,10 +24,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bind
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bindings/pyroot/src/ObjectProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/ObjectProxy.cxx 2020-03-13 16:46:56.539971591 +0100
-@@ -397,7 +397,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.20.02/bindings/pyroot/src/ObjectProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/ObjectProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/ObjectProxy.cxx 2020-03-15 19:43:20.946684699 +0100
+@@ -398,7 +398,8 @@
sizeof(ObjectProxy), // tp_basicsize
0, // tp_itemsize
(destructor)op_dealloc, // tp_dealloc
@@ -37,7 +37,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bind
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -449,6 +450,12 @@
+@@ -450,6 +451,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -50,9 +50,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bind
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.18.04/bindings/pyroot/src/PropertyProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/PropertyProxy.cxx 2020-03-13 16:46:56.539971591 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.20.02/bindings/pyroot/src/PropertyProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/PropertyProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/PropertyProxy.cxx 2020-03-15 19:43:20.946684699 +0100
@@ -133,7 +133,8 @@
sizeof(PropertyProxy), // tp_basicsize
0, // tp_itemsize
@@ -76,10 +76,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.18.04/bi
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindings/pyroot/src/PyRootType.cxx
---- root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/PyRootType.cxx 2020-03-13 16:46:56.539971591 +0100
-@@ -230,7 +230,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/PyRootType.cxx root-6.20.02/bindings/pyroot/src/PyRootType.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/PyRootType.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/PyRootType.cxx 2020-03-15 19:43:20.946684699 +0100
+@@ -232,7 +232,8 @@
sizeof(PyROOT::PyRootClass),// tp_basicsize
0, // tp_itemsize
0, // tp_dealloc
@@ -89,7 +89,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindi
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -279,6 +280,12 @@
+@@ -281,6 +282,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -102,9 +102,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindi
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx root-6.18.04/bindings/pyroot/src/Pythonize.cxx
---- root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/Pythonize.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/Pythonize.cxx root-6.20.02/bindings/pyroot/src/Pythonize.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/Pythonize.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/Pythonize.cxx 2020-03-15 19:43:20.947684688 +0100
@@ -944,6 +944,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
@@ -118,9 +118,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx root-6.18.04/bindin
};
static PyObject* vector_iter( PyObject* v ) {
-diff -ur root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx root-6.18.04/bindings/pyroot/src/RootModule.cxx
---- root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/RootModule.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/RootModule.cxx root-6.20.02/bindings/pyroot/src/RootModule.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/RootModule.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/RootModule.cxx 2020-03-15 19:43:20.948684678 +0100
@@ -134,6 +134,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
@@ -134,9 +134,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx root-6.18.04/bindi
};
PyObject _PyROOT_NullPtrStruct = {
-diff -ur root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.18.04/bindings/pyroot/src/TCustomPyTypes.cxx
---- root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.20.02/bindings/pyroot/src/TCustomPyTypes.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-15 19:43:20.948684678 +0100
@@ -19,7 +19,8 @@
0, // tp_basicsize
0, // tp_itemsize
@@ -206,10 +206,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.18.04/b
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bindings/pyroot/src/TemplateProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/TemplateProxy.cxx 2020-03-13 16:46:56.541971570 +0100
-@@ -395,7 +395,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.20.02/bindings/pyroot/src/TemplateProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/TemplateProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/TemplateProxy.cxx 2020-03-15 19:43:20.948684678 +0100
+@@ -492,7 +492,8 @@
sizeof(TemplateProxy), // tp_basicsize
0, // tp_itemsize
(destructor)tpp_dealloc, // tp_dealloc
@@ -219,7 +219,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bi
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -444,6 +445,12 @@
+@@ -541,6 +542,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -232,9 +232,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bi
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.18.04/bindings/pyroot/src/TTupleOfInstances.cxx
---- root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.20.02/bindings/pyroot/src/TTupleOfInstances.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-15 19:43:20.948684678 +0100
@@ -42,7 +42,8 @@
0, // tp_basicsize
0, // tp_itemsize
@@ -258,10 +258,25 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.18.0
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-13 16:47:15.029777701 +0100
-@@ -168,7 +168,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt 2020-03-15 19:43:20.949684667 +0100
+@@ -64,11 +64,6 @@
+ target_compile_options(cppyy PRIVATE -Wno-deprecated-register)
+ endif()
+
+-# Disables warnings due to new field tp_vectorcall in Python 3.8
+-if(NOT MSVC AND ${PYTHON_VERSION_STRING} VERSION_GREATER_EQUAL "3.8")
+- target_compile_options(cppyy PRIVATE -Wno-missing-field-initializers)
+-endif()
+-
+ target_include_directories(cppyy PRIVATE ${CMAKE_BINARY_DIR}/include) # needed for string_view backport
+
+ target_include_directories(cppyy PUBLIC ${PYTHON_INCLUDE_DIRS}
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-15 19:43:20.949684667 +0100
+@@ -167,7 +167,8 @@
sizeof(CPPDataMember), // tp_basicsize
0, // tp_itemsize
(destructor)pp_dealloc, // tp_dealloc
@@ -271,7 +286,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDa
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -217,6 +218,12 @@
+@@ -216,6 +217,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -284,10 +299,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDa
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-13 16:47:15.029777701 +0100
-@@ -385,7 +385,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-15 19:43:20.949684667 +0100
+@@ -565,7 +565,8 @@
sizeof(CPPInstance), // tp_basicsize
0, // tp_itemsize
(destructor)op_dealloc, // tp_dealloc
@@ -297,7 +312,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPIn
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -437,6 +438,12 @@
+@@ -617,6 +618,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -310,10 +325,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPIn
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-13 16:47:15.030777691 +0100
-@@ -813,7 +813,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-15 19:43:20.950684656 +0100
+@@ -889,7 +889,8 @@
sizeof(CPPOverload), // tp_basicsize
0, // tp_itemsize
(destructor)mp_dealloc, // tp_dealloc
@@ -323,7 +338,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOv
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -862,6 +863,12 @@
+@@ -938,6 +939,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -336,10 +351,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOv
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-13 16:47:15.030777691 +0100
-@@ -424,7 +424,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-15 19:43:20.950684656 +0100
+@@ -596,7 +596,8 @@
sizeof(CPyCppyy::CPPScope), // tp_basicsize
0, // tp_itemsize
0, // tp_dealloc
@@ -349,7 +364,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPSc
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -473,6 +474,12 @@
+@@ -649,6 +650,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -362,9 +377,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPSc
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-13 16:47:15.030777691 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-15 19:43:20.951684646 +0100
@@ -140,6 +140,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
@@ -378,10 +393,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCp
};
namespace {
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-13 16:57:57.529034828 +0100
-@@ -32,6 +32,12 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-15 19:43:20.951684646 +0100
+@@ -33,6 +33,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -394,7 +409,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
//= long type allowed for reference passing ==================================
-@@ -54,6 +60,12 @@
+@@ -59,6 +65,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -406,8 +421,21 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
+#endif
};
+ //- custom type representing typedef to pointer of class ---------------------
+@@ -89,6 +101,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
//= instancemethod object with a more efficient call function ================
-@@ -219,6 +231,12 @@
+@@ -254,6 +272,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -420,7 +448,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
-@@ -269,6 +287,12 @@
+@@ -304,6 +328,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -433,7 +461,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
-@@ -320,6 +344,12 @@
+@@ -355,6 +385,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -446,10 +474,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-13 16:47:15.031777680 +0100
-@@ -657,7 +657,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-15 19:43:20.951684646 +0100
+@@ -651,7 +651,8 @@
sizeof(CPyCppyy::LowLevelView),// tp_basicsize
0, // tp_itemsize
(destructor)ll_dealloc, // tp_dealloc
@@ -459,7 +487,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLe
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -707,6 +708,12 @@
+@@ -701,6 +702,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -472,10 +500,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLe
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-13 16:47:15.032777670 +0100
-@@ -515,7 +515,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-15 19:43:20.952684635 +0100
+@@ -709,7 +709,8 @@
sizeof(TemplateProxy), // tp_basicsize
0, // tp_itemsize
(destructor)tpp_dealloc, // tp_dealloc
@@ -485,7 +513,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Templ
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -564,6 +565,12 @@
+@@ -758,6 +759,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -498,10 +526,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Templ
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-13 16:47:15.032777670 +0100
-@@ -79,6 +79,12 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-15 19:43:20.952684635 +0100
+@@ -82,6 +82,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -514,7 +542,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Tuple
};
-@@ -152,7 +158,8 @@
+@@ -161,7 +167,8 @@
0, // tp_basicsize
0, // tp_itemsize
0, // tp_dealloc
@@ -524,7 +552,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Tuple
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -202,6 +209,12 @@
+@@ -211,6 +218,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
diff --git a/root-python3.patch b/root-python3.patch
deleted file mode 100644
index e1cda30..0000000
--- a/root-python3.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 4cf9170f308934688e7f767086589cd8cc0a0a85 Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Fri, 28 Jun 2019 22:23:49 +0200
-Subject: [PATCH] Python 3 compatibility
-
----
- tutorials/histfactory/example.py | 2 +-
- tutorials/pyroot/mrt.py | 20 ++++++++++----------
- 2 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/tutorials/histfactory/example.py b/tutorials/histfactory/example.py
-index 91e1d26939..6ccf3bb350 100755
---- a/tutorials/histfactory/example.py
-+++ b/tutorials/histfactory/example.py
-@@ -12,7 +12,7 @@ def main():
- try:
- import ROOT
- except:
-- print "It seems that pyROOT isn't properly configured"
-+ print("It seems that pyROOT isn't properly configured")
- return
-
- """
-diff --git a/tutorials/pyroot/mrt.py b/tutorials/pyroot/mrt.py
-index b3a8c0d719..17a73f6881 100644
---- a/tutorials/pyroot/mrt.py
-+++ b/tutorials/pyroot/mrt.py
-@@ -10,28 +10,28 @@
- ##
- ## \author Wim Lavrijsen
-
--import sys, string, os
--from ROOT import TFile, TNtuple
-+import sys, os
-+from ROOT import TFile, TNtuple, TROOT
-
-
--ifn = os.path.expandvars("${ROOTSYS}/tutorials/pyroot/aptuple.txt")
-+ifn = os.path.join(str(TROOT.GetTutorialDir()), 'pyroot', 'aptuple.txt')
- ofn = 'aptuple.root'
-
--print 'opening file', ifn, '...'
-+print('opening file %s ...' % ifn)
- infile = open( ifn, 'r' )
- lines = infile.readlines()
- title = lines[0]
--labels = string.split( lines[1] )
-+labels = lines[1].split()
-
--print 'writing file', ofn, '...'
-+print('writing file %s ...' % ofn)
- outfile = TFile( ofn, 'RECREATE', 'ROOT file with an NTuple' )
--ntuple = TNtuple( 'ntuple', title, string.join( labels, ':') )
-+ntuple = TNtuple( 'ntuple', title, ':'.join( labels ) )
-
- for line in lines[2:]:
-- words = string.split( line )
-+ words = line.split()
- row = map( float, words )
-- apply( ntuple.Fill, row )
-+ ntuple.Fill(*row)
-
- outfile.Write()
-
--print 'done'
-+print('done')
---
-2.21.0
-
diff --git a/root-static-constexpr.patch b/root-static-constexpr.patch
deleted file mode 100644
index c04ba6f..0000000
--- a/root-static-constexpr.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx
---- root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2020-02-15 21:16:58.819735413 +0100
-@@ -26,6 +26,8 @@
- {
- }
-
-+constexpr const ROOT::Experimental::RDrawingAttrBase::FromOption_t ROOT::Experimental::RDrawingAttrBase::FromOption;
-+
- ROOT::Experimental::RDrawingAttrBase::RDrawingAttrBase(FromOption_t, const Name &name, RDrawingOptsBase &opts) :
- fPath{name.fStr}, fHolder(opts.GetHolder())
- {
diff --git a/root-stress-aarch64-ppc64le.patch b/root-stress-aarch64-ppc64le.patch
deleted file mode 100644
index a925460..0000000
--- a/root-stress-aarch64-ppc64le.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From dd6d00b07778023449a7e6fe01f90a524237b20a Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Mon, 1 Jul 2019 08:53:15 +0200
-Subject: [PATCH] Increase test tolerence
-
-Test fails on aarch64 and ppc64le on Fedora 30 and Fedora rawhide:
-Test 3 : Purge, Reuse of gaps in TFile......................... FAILED
- File size= 52010 (expected 51886 +/- 100)
- Comp Fact= 2.00 (expected 2.1 +/- 0.3)
----
- test/stress.cxx | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/stress.cxx b/test/stress.cxx
-index 509bb0f17d..c0b44d9b77 100644
---- a/test/stress.cxx
-+++ b/test/stress.cxx
-@@ -406,7 +406,7 @@ void stress3()
- #else
- constexpr Long64_t lastgood = 51886;
- #endif
-- constexpr Long64_t tolerance = 100;
-+ constexpr Long64_t tolerance = 150;
- #ifdef R__HAS_DEFAULT_LZ4
- constexpr Long64_t difflastgoodlz4 = 5500;
- if (last < lastgood - tolerance || last > lastgood + difflastgoodlz4 + tolerance || comp < 1.5 || comp > 2.1)
---
-2.21.0
-
diff --git a/root-unbundle-gtest.patch b/root-unbundle-gtest.patch
index 0fe4103..44939ca 100644
--- a/root-unbundle-gtest.patch
+++ b/root-unbundle-gtest.patch
@@ -1,7 +1,7 @@
-diff -ur root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.18.00/cmake/modules/SearchInstalledSoftware.cmake
---- root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/cmake/modules/SearchInstalledSoftware.cmake 2019-06-26 16:00:21.275634375 +0200
-@@ -1380,80 +1380,18 @@
+diff -ur root-6.20.02.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.20.02/cmake/modules/SearchInstalledSoftware.cmake
+--- root-6.20.02.orig/cmake/modules/SearchInstalledSoftware.cmake 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/cmake/modules/SearchInstalledSoftware.cmake 2020-03-15 20:12:34.446078193 +0100
+@@ -1528,83 +1528,18 @@
#---Download googletest--------------------------------------------------------------
if (testing)
@@ -24,7 +24,9 @@ diff -ur root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.18
- if(MSVC)
- set(EXTRA_GTEST_OPTS
- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG:PATH=\\\"\\\"
-- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=\\\"\\\")
+- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_MINSIZEREL:PATH=\\\"\\\"
+- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=\\\"\\\"
+- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO:PATH=\\\"\\\")
- endif()
- if(APPLE)
- set(EXTRA_GTEST_OPTS
@@ -34,6 +36,7 @@ diff -ur root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.18
- ExternalProject_Add(
- googletest
- GIT_REPOSITORY https://github.com/google/googletest.git
+- GIT_SHALLOW 1
- GIT_TAG release-1.8.0
- UPDATE_COMMAND ""
- # TIMEOUT 10
diff --git a/root.spec b/root.spec
index 02e7bb6..7a79f82 100644
--- a/root.spec
+++ b/root.spec
@@ -49,9 +49,9 @@
%global __provides_exclude_from ^(%{?python2_sitearch:%{python2_sitearch}|}%{python3_sitearch}%{?python3_other_sitearch:|%{python3_other_sitearch}})/libJupyROOT\\.so$
Name: root
-Version: 6.18.04
+Version: 6.20.02
%global libversion %(cut -d. -f 1-2 <<< %{version})
-Release: 6%{?dist}
+Release: 1%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@@ -103,51 +103,36 @@ Patch10: %{name}-clang-ignore-gcc-options.patch
Patch11: %{name}-doc-no-notebooks.patch
# Don't run tutorial requiring firefox during doc generation
Patch12: %{name}-v7-line.patch
-# Install man pages in correct directory
-# https://github.com/root-project/root/pull/4026
-Patch13: %{name}-man-install.patch
-# Use correct library names in plugin definitions
-# https://github.com/root-project/root/pull/4026
-Patch14: %{name}-fix-plugin-definition.patch
-# Don't download test input file if it already exists
-# https://github.com/root-project/root/pull/4026
-Patch15: %{name}-dont-download-input-file-if-it-already-exists.patch
-# Python 3 fixes
-# https://github.com/root-project/root/pull/4026
-Patch16: %{name}-python3.patch
-# Increase test tolerance (aarch64 and ppc64le)
-# https://github.com/root-project/root/pull/4025
-Patch17: %{name}-stress-aarch64-ppc64le.patch
-# Fix GDB pretty printers install name and location
-# https://github.com/root-project/root/pull/4024
-Patch18: %{name}-pretty-printers.patch
-# Missing include - fails with gcc 10
-Patch19: %{name}-missing-include-string.patch
# Fix ppc64le build with gcc 10
# https://github.com/root-project/root/pull/5157
-Patch20: %{name}-clang-altivec-vector.patch
-# Missing symbol - with gcc 10
-Patch21: %{name}-static-constexpr.patch
+Patch13: %{name}-clang-altivec-vector.patch
# Fix -Wmissing-field-initializers in python bindings for
# Python 3.8 and 3.9
# https://github.com/root-project/root/pull/5158
-Patch22: %{name}-python3.8-object.patch
+Patch14: %{name}-python3.8-object.patch
# Correct broken assert statements
# https://github.com/root-project/root/pull/5159
-Patch23: %{name}-FitData-assert-fix.patch
+Patch15: %{name}-FitData-assert-fix.patch
# The test that creates the file must run before the test that
# modifies it
# https://github.com/root-project/root/pull/5160
-Patch24: %{name}-xmlmodify-dep.patch
+Patch16: %{name}-xmlmodify-dep.patch
# Use unique filenames in tutorials so they can be run in
# parallel
# Backport from upstream's git
-Patch25: %{name}-tutorials-unique-filenames.patch
+Patch17: %{name}-tutorials-unique-filenames.patch
# Size types should use %z
# https://github.com/root-project/root/pull/5161
-Patch26: %{name}-format-fix.patch
+Patch18: %{name}-format-fix.patch
# Run some test on 32 bit that upstream has disabled
-Patch27: %{name}-32bit-tests.patch
+Patch19: %{name}-32bit-tests.patch
+# The file was moved - update path
+# https://github.com/root-project/root/pull/5162
+Patch20: %{name}-moved-file.patch
+# Workaround for initialization problems for PyROOT on
+# EPEL7 ppc64le
+# https://sft.its.cern.ch/jira/browse/ROOT-10622
+Patch21: %{name}-epel7-ppc64le-pyroot.patch
# s390x suffers from endian issues resulting in failing tests
# and broken documentation generation
@@ -155,9 +140,9 @@ Patch27: %{name}-32bit-tests.patch
ExcludeArch: s390x
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
-BuildRequires: cmake >= 3.4.3
+BuildRequires: cmake >= 3.9
%else
-BuildRequires: cmake3 >= 3.4.3
+BuildRequires: cmake3 >= 3.9
%endif
BuildRequires: libX11-devel
BuildRequires: libXpm-devel
@@ -174,6 +159,7 @@ BuildRequires: zlib-devel
BuildRequires: xz-devel
BuildRequires: lz4-devel
BuildRequires: xxhash-devel
+BuildRequires: libzstd-devel
# Require a version of libAfterImage that is properly linked to
# its dependencies
BuildRequires: libAfterImage-devel >= 1.20-21
@@ -888,9 +874,6 @@ Requires: %{name}-core%{?_isa} = %{version}-%{release}
Requires: %{name}-graf%{?_isa} = %{version}-%{release}
Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
Requires: %{name}-hist%{?_isa} = %{version}-%{release}
-%if %{root7}
-Requires: %{name}-hist-draw%{?_isa} = %{version}-%{release}
-%endif
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
@@ -924,6 +907,8 @@ Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-io-xmlparser%{?_isa} = %{version}-%{release}
Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
Requires: %{name}-roofit%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-roostats%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
%description hist-factory
@@ -1387,21 +1372,49 @@ This package contains the xproof extension for ROOT. This provides a
client to be used in a PROOF environment.
%package roofit
-Summary: ROOT extension for modeling expected distributions
+Summary: ROOT extension for modeling expected distributions - toolkit
+License: BSD
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-hist%{?_isa} = %{version}-%{release}
+Requires: %{name}-io%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
+Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-tree%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
+
+%description roofit
+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 toolkit classes.
+
+%package roofit-core
+Summary: ROOT extension for modeling expected distributions - core
License: BSD
Requires: %{name}-core%{?_isa} = %{version}-%{release}
Requires: %{name}-foam%{?_isa} = %{version}-%{release}
Requires: %{name}-graf%{?_isa} = %{version}-%{release}
-Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
Requires: %{name}-hist%{?_isa} = %{version}-%{release}
Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
-Requires: %{name}-mathmore%{?_isa} = %{version}-%{release}
Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
Requires: %{name}-minuit%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
-%description roofit
+%description roofit-core
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
@@ -1414,6 +1427,54 @@ 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 core RooFit classes.
+
+%package roofit-more
+Summary: ROOT extension for modeling expected distributions - more
+License: BSD
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathmore%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
+
+%description roofit-more
+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 RooFit classes that use the mathmore library.
+
+%package roostats
+Summary: Statistical tools built on top of RooFit
+License: BSD
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
+Requires: %{name}-hist%{?_isa} = %{version}-%{release}
+Requires: %{name}-io%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
+Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
+Requires: %{name}-minuit%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-tree%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
+
+%description roostats
+RooStats is a package containing statistical tools built on top of
+RooFit.
+
%package sql-mysql
Summary: MySQL client plugin for ROOT
Requires: %{name}-core%{?_isa} = %{version}-%{release}
@@ -1550,6 +1611,7 @@ This package contains the Tree library for ROOT.
Summary: A high level interface to ROOT trees
Requires: %{name}-core%{?_isa} = %{version}-%{release}
Requires: %{name}-hist%{?_isa} = %{version}-%{release}
+Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
%if %{root7}
@@ -1637,7 +1699,6 @@ Javascript and style files for the Jupyter ROOT Notebook.
%package graf-gpadv7
Summary: Canvas and pad library for ROOT (ROOT 7)
Requires: %{name}-core%{?_isa} = %{version}-%{release}
-Requires: %{name}-io%{?_isa} = %{version}-%{release}
%description graf-gpadv7
This package contains a library for canvas and pad manipulations.
@@ -1660,6 +1721,7 @@ Requires: %{name}-gui-webdisplay%{?_isa} = %{version}-%{release}
Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
Requires: %{name}-montecarlo-eg%{?_isa} = %{version}-%{release}
+Requires: %{name}-net-http%{?_isa} = %{version}-%{release}
Requires: %{name}-physics%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
Requires: %{name}-tree-player%{?_isa} = %{version}-%{release}
@@ -1670,8 +1732,13 @@ This package contains a library for defining event displays in ROOT 7.
%package gui-browserv7
Summary: Browser (ROOT 7)
Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf-gpadv7%{?_isa} = %{version}-%{release}
Requires: %{name}-gui-webdisplay%{?_isa} = %{version}-%{release}
+Requires: %{name}-gui-webgui6%{?_isa} = %{version}-%{release}
+Requires: %{name}-hist%{?_isa} = %{version}-%{release}
Requires: %{name}-io%{?_isa} = %{version}-%{release}
+Requires: %{name}-tree%{?_isa} = %{version}-%{release}
%description gui-browserv7
This package contains a file browser for ROOT 7.
@@ -1732,6 +1799,13 @@ Requires: %{name}-io%{?_isa} = %{version}-%{release}
%description gui-webgui6
This package provides a Web based GUI for ROOT.
+%package histv7
+Summary: Histogram library for ROOT (ROOT 7)
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+
+%description histv7
+This package contains a library for histogramming in ROOT 7.
+
%package hist-draw
Summary: Histogram drawing (ROOT 7)
Requires: %{name}-core%{?_isa} = %{version}-%{release}
@@ -1773,13 +1847,11 @@ This package contains an ntuple extension for ROOT 7.
%patch18 -p1
%patch19 -p1
%patch20 -p1
+%if %{?rhel}%{!?rhel:0} == 7
+%ifarch ppc64le
%patch21 -p1
-%patch22 -p1
-%patch23 -p1
-%patch24 -p1
-%patch25 -p1
-%patch26 -p1
-%patch27 -p1
+%endif
+%endif
# Remove bundled sources in order to be sure they are not used
# * afterimage
@@ -1790,7 +1862,7 @@ rm -rf graf3d/ftgl/src graf3d/ftgl/inc
rm -rf graf2d/freetype/src
# * glew
rm -rf graf3d/glew/src graf3d/glew/inc graf3d/glew/isystem
-# * davix, lz4, openssl, pcre, xxhash, zlib
+# * davix, lz4, openssl, pcre, xxhash, zlib, zstd
rm -rf builtins
# * lzma
rm -rf core/lzma/src/*.tar.gz
@@ -1902,14 +1974,13 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dbuiltin_xrootd:BOOL=OFF \
-Dbuiltin_xxhash:BOOL=OFF \
-Dbuiltin_zlib:BOOL=OFF \
+ -Dbuiltin_zstd:BOOL=OFF \
-Dalien:BOOL=OFF \
-Darrow:BOOL=OFF \
-Dasimage:BOOL=ON \
- -Dastiff:BOOL=ON \
-Dccache:BOOL=OFF \
-Dcefweb:BOOL=OFF \
-Dclad:BOOL=OFF \
- -Dcling:BOOL=ON \
-Dcocoa:BOOL=OFF \
-Dcuda:BOOL=OFF \
%if %{root7}
@@ -1922,10 +1993,11 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dwebgui:BOOL=OFF \
%endif
-Dcxxmodules:BOOL=OFF \
+ -Ddataframe:BOOL=ON \
-Ddavix:BOOL=ON \
-Ddcache:BOOL=ON \
-Dexceptions:BOOL=ON \
- -Dexplicitlink:BOOL=ON \
+ -Dfcgi:BOOL=ON \
-Dfftw3:BOOL=ON \
-DFIREFOX_EXECUTABLE:PATH=/usr/bin/firefox \
-Dfitsio:BOOL=ON \
@@ -1946,17 +2018,18 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dmemory_termination:BOOL=OFF \
-Dmemstat:BOOL=ON \
-Dminuit2:BOOL=ON \
+ -Dmlp:BOOL=ON \
-Dmonalisa:BOOL=OFF \
+ -Dmpi:BOOL=OFF \
-Dmysql:BOOL=ON \
-Dodbc:BOOL=ON \
-Dopengl:BOOL=ON \
-Doracle:BOOL=OFF \
- -Dpch:BOOL=ON \
-Dpgsql:BOOL=ON \
-Dpythia6:BOOL=OFF \
-Dpythia8:BOOL=ON \
- -Dpython:BOOL=ON \
-DPYTHON_EXECUTABLE:PATH=%{__pythondef} \
+ -Dpyroot:BOOL=ON \
%ifarch %{qt5_qtwebengine_arches}
-Dqt5web:BOOL=ON \
%else
@@ -1970,10 +2043,10 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dshadowpw:BOOL=ON \
-Dshared:BOOL=ON \
-Dsoversion:BOOL=ON \
+ -Dspectrum:BOOL=ON \
-Dsqlite:BOOL=ON \
-Dssl:BOOL=ON \
-Dtcmalloc:BOOL=OFF \
- -Dthread:BOOL=ON \
-Dtmva:BOOL=ON \
%if %{tbb}
-Dtmva-cpu:BOOL=ON \
@@ -2035,7 +2108,9 @@ else
py3l=`pkg-config --libs-only-l python3 | sed -e 's/-l//' -e 's/\s*$//'`
fi
sed -e "s,${py3i},${py2i},g" -e "s,-l${py3l},-l${py2l},g" \
- -e "s,lib${py3l},lib${py2l},g" -e 's,%{__python3},%{__python2},g' \
+ -e "s,lib${py3l},lib${py2l},g" \
+ -e 's,%{__python}%{python3_version},%{__python2},g' \
+ -e 's,%{__python3},%{__python2},g' \
-e 's,lib/libPyROOT,python2/libPyROOT,g' \
-e 's,lib/libJupyROOT,python2/libJupyROOT,g' \
-e 's!bindings/pyroot!bindings/python2!g' \
@@ -2062,7 +2137,9 @@ else
py3l=`pkg-config --libs-only-l python3 | sed -e 's/-l//' -e 's/\s*$//'`
fi
sed -e "s,${py2i},${py3i},g" -e "s,-l${py2l},-l${py3l},g" \
- -e "s,lib${py2l},lib${py3l},g" -e 's,%{__python2},%{__python3},g' \
+ -e "s,lib${py2l},lib${py3l},g" \
+ -e 's,%{__python}%{python2_version},%{__python3},g' \
+ -e 's,%{__python2},%{__python3},g' \
-e 's,lib/libPyROOT,python3/libPyROOT,g' \
-e 's,lib/libJupyROOT,python3/libJupyROOT,g' \
-e 's!bindings/pyroot!bindings/python3!g' \
@@ -2089,7 +2166,9 @@ else
py3l=`pkg-config --libs-only-l python-%{python3_other_version} | sed -e 's/-l//' -e 's/\s*$//'`
fi
sed -e "s,${py2i},${py3i},g" -e "s,-l${py2l},-l${py3l},g" \
- -e "s,lib${py2l},lib${py3l},g" -e 's,%{__python2},%{__python3_other},g' \
+ -e "s,lib${py2l},lib${py3l},g" \
+ -e 's,%{__python}%{python2_version},%{__python3_other},g' \
+ -e 's,%{__python2},%{__python3_other},g' \
-e 's,lib/libPyROOT,python3oth/libPyROOT,g' \
-e 's,lib/libJupyROOT,python3oth/libJupyROOT,g' \
-e 's!bindings/pyroot!bindings/python3oth!g' \
@@ -2135,10 +2214,14 @@ rm %{buildroot}%{_libdir}/%{name}/__pycache__/cmdLineUtils.*
%endif
sed -e '/^\#!/d' -i %{buildroot}%{_datadir}/%{name}/cli/cmdLineUtils.py
-# Move GDB pretty printers to auto load safe path
+# Install GDB pretty printers to auto load safe path
+# These are installed (in libdir) by "make install" if CMAKE_BUILD_TYPE
+# matches Debug or RelWithDebInfo
mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}
-mv %{buildroot}%{_libdir}/%{name}/*-gdb.py \
- %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}
+install -p -m 644 build/gdbPrinters/libCore.so-gdb.py \
+ %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}/libCore.so.%{version}-gdb.py
+install -p -m 644 build/gdbPrinters/libRooFitCore.so-gdb.py \
+ %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}/libRooFitCore.so.%{version}-gdb.py
# Do python byte compilation (for non-standard paths)
%if %{?fedora}%{!?fedora:0} >= 28 || %{?rhel}%{!?rhel:0} >= 8
@@ -2386,10 +2469,6 @@ rm -rf %{buildroot}%{_datadir}/%{name}/proof/utils
rm %{buildroot}%{_datadir}/%{name}/root.desktop
rm %{buildroot}%{_bindir}/setxrd*
rm %{buildroot}%{_bindir}/thisroot*
-rm %{buildroot}%{_mandir}/man1/g2rootold.1
-rm %{buildroot}%{_mandir}/man1/genmap.1
-rm %{buildroot}%{_mandir}/man1/proofserva.1
-rm %{buildroot}%{_mandir}/man1/roota.1
rm %{buildroot}%{_pkgdocdir}/INSTALL
rm %{buildroot}%{_pkgdocdir}/README.ALIEN
rm %{buildroot}%{_pkgdocdir}/README.CXXMODULES.md
@@ -2400,7 +2479,6 @@ rm %{buildroot}%{_datadir}/%{name}/macros/fileopen.C
# Remove plugin definitions for non-built and obsolete plugins
pushd %{buildroot}%{_datadir}/%{name}/plugins
-rm TDataProgressDialog/P010_TDataProgressDialog.C
rm TDataSetManager/P020_TDataSetManagerAliEn.C
rm TFile/P070_TAlienFile.C
rm TGLManager/P020_TGWin32GLManager.C
@@ -2416,8 +2494,6 @@ rm TVirtualGLImp/P020_TGWin32GL.C
rm TVirtualMonitoringWriter/P010_TMonaLisaWriter.C
rm TVirtualX/P030_TGWin32.C
rm TVirtualX/P050_TGQuartz.C
-rm TVirtualX/P060_TWebVirtualX.C
-rmdir TDataProgressDialog
rmdir TGrid
rmdir TVirtualGeoConverter
popd
@@ -2492,7 +2568,6 @@ done
# ... and merge some of them
cat includelist-core-{[^mw],m[^au]}* > includelist-core
cat includelist-geom-geom* > includelist-geom
-cat includelist-roofit-roo* > includelist-roofit
cat includelist-graf2d-x11ttf >> includelist-graf2d-x11
cat includelist-net-netx* > includelist-netx
@@ -2558,6 +2633,23 @@ popd
#
# - tutorial-v7-line.cxx
# requires a web browser (and js-jsroot) to render javascript graphics
+#
+# - gtest-io-io-test-RRawFile (*)
+# - gtest-net-davix-test-RRawFileDavix
+# reads input file over network
+# http://root.cern.ch/files/davix.test
+# (*) one subtest RRawFile.Remote fails, others woud be OK
+#
+# - gtest-tmva-tmva-test-rreader
+# - gtest-tmva-tmva-test-rstandardscaler
+# - tutorial-tmva-tmva003_RReader
+# - tutorial-tmva-tmva004_RStandardScaler
+# reads input data over network
+# http://root.cern.ch/files/tmva_class_example.root
+#
+# - tutorial-tmva-tmva103_Application
+# reads input data over network
+# http://root.cern/files/tmva101.root
excluded="\
test-stressIOPlugins|\
tutorial-dataframe-df101_h1Analysis|\
@@ -2575,11 +2667,17 @@ tutorial-dataframe-df103_NanoAODHiggsAnalysis|\
tutorial-v7-ntuple-ntpl003_lhcbOpenData|\
tutorial-v7-ntuple-ntpl004_dimuon|\
tutorial-pythia-pythia8|\
-tutorial-v7-line.cxx"
+tutorial-v7-line.cxx|\
+gtest-io-io-test-RRawFile|\
+gtest-net-davix-test-RRawFileDavix|\
+gtest-tmva-tmva-test-rreader|\
+gtest-tmva-tmva-test-rstandardscaler|\
+tutorial-tmva-tmva003_RReader|\
+tutorial-tmva-tmva004_RStandardScaler|\
+tutorial-tmva-tmva103_Application"
%ifarch %{ix86} %{arm}
-%if %{?fedora}%{!?fedora:0} >= 30
-# Tests failing on 32 bit architectures on Fedoea 30+ (gcc 9?)
+# Tests failing on 32 bit architectures (dataframe)
# A bit random - not all the tests fail every time...
# - gtest-tree-dataframe-test-dataframe-cache
# - gtest-tree-dataframe-test-dataframe-callbacks
@@ -2590,6 +2688,7 @@ tutorial-v7-line.cxx"
# - gtest-tree-dataframe-test-dataframe-simple
# - gtest-tree-dataframe-test-dataframe-snapshot
# - gtest-tree-dataframe-test-datasource-root
+# - gtest-tree-dataframe-test-datasource-trivial
excluded="${excluded}|\
gtest-tree-dataframe-test-dataframe-cache|\
gtest-tree-dataframe-test-dataframe-callbacks|\
@@ -2599,23 +2698,14 @@ gtest-tree-dataframe-test-dataframe-helpers|\
gtest-tree-dataframe-test-dataframe-interface|\
gtest-tree-dataframe-test-dataframe-simple|\
gtest-tree-dataframe-test-dataframe-snapshot|\
-gtest-tree-dataframe-test-datasource-root"
-%endif
+gtest-tree-dataframe-test-datasource-root|\
+gtest-tree-dataframe-test-datasource-trivial"
%endif
%ifarch %{arm}
# Tests failing on 32 bit arm
# - gtest-tree-tree-test-testBulkApiSillyStruct
-# - tutorial-v7-draw.cxx
-# - tutorial-v7-draw_mt.cxx
-# - tutorial-v7-draw_rh1.cxx
-# - tutorial-v7-draw_subpads.cxx
-excluded="${excluded}|\
-gtest-tree-tree-test-testBulkApiSillyStruct|\
-tutorial-v7-draw.cxx|\
-tutorial-v7-draw_mt.cxx|\
-tutorial-v7-draw_rh1.cxx|\
-tutorial-v7-draw_subpads.cxx"
+excluded="${excluded}|gtest-tree-tree-test-testBulkApiSillyStruct"
%endif
%ifarch ppc64le
@@ -2629,17 +2719,6 @@ excluded="${excluded}|tutorial-roofit-rf608_fitresultaspdf-py"
%endif
%endif
-%if %{?fedora}%{!?fedora:0} >= 32
-# New failures with Fedora 32+ (gcc 10)
-excluded="${excluded}|tutorial-v7-markerStyle.cxx"
-%ifarch %{ix86} ppc64le
-excluded="${excluded}|TMVA-DNN-CNN-Reshape-CPU"
-%endif
-%ifarch ppc64le
-excluded="${excluded}|tutorial-v7-lineStyle.cxx|tutorial-v7-lineWidth.cxx"
-%endif
-%endif
-
make test ARGS="%{?_smp_mflags} --output-on-failure -E \"${excluded}\""
popd
@@ -2896,6 +2975,9 @@ fi
%ldconfig_scriptlets proof-sessionviewer
%ldconfig_scriptlets xproof
%ldconfig_scriptlets roofit
+%ldconfig_scriptlets roofit-core
+%ldconfig_scriptlets roofit-more
+%ldconfig_scriptlets roostats
%ldconfig_scriptlets sql-mysql
%ldconfig_scriptlets sql-odbc
%ldconfig_scriptlets sql-sqlite
@@ -2921,6 +3003,7 @@ fi
%endif
%ldconfig_scriptlets gui-webdisplay
%ldconfig_scriptlets gui-webgui6
+%ldconfig_scriptlets histv7
%ldconfig_scriptlets hist-draw
%ldconfig_scriptlets tree-ntuple
%endif
@@ -2986,9 +3069,6 @@ fi
%{_mandir}/man1/system.rootdaemonrc.1*
%dir %{_datadir}/%{name}/cmake
%{_datadir}/%{name}/cmake/*.cmake
-%dir %{_datadir}/%{name}/cmake/modules
-%{_datadir}/%{name}/cmake/modules/*.cmake
-%{_datadir}/%{name}/cmake/modules/*.cmake.in
%dir %{_datadir}/%{name}/macros
%{_datadir}/%{name}/macros/Dialogs.C
%dir %{_datadir}/%{name}/plugins
@@ -2998,9 +3078,7 @@ fi
%{_includedir}/%{name}/RConfigure.h
%{_includedir}/%{name}/RGitCommit.h
%{_includedir}/%{name}/compiledata.h
-%{_includedir}/%{name}/libc.modulemap
%{_includedir}/%{name}/module.modulemap
-%{_includedir}/%{name}/stl.modulemap
%dir %{_includedir}/%{name}/Math
%dir %{_includedir}/%{name}/ROOT
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
@@ -3052,6 +3130,7 @@ fi
%{python2_sitearch}/ROOT-*.egg-info
%{python2_sitearch}/cppyy.py*
%{python2_sitearch}/_pythonization.py*
+%{python2_sitearch}/_rdf_utils.py*
%endif
%if ! %{py3default}
@@ -3080,6 +3159,7 @@ fi
%{python3_sitearch}/ROOT-*.egg-info
%{python3_sitearch}/cppyy.py
%{python3_sitearch}/_pythonization.py
+%{python3_sitearch}/_rdf_utils.py
%{python3_sitearch}/__pycache__/*
%files -n python%{python3_pkgversion}-jupyroot
@@ -3107,6 +3187,7 @@ fi
%{python3_other_sitearch}/ROOT-*.egg-info
%{python3_other_sitearch}/cppyy.py
%{python3_other_sitearch}/_pythonization.py
+%{python3_other_sitearch}/_rdf_utils.py
%{python3_other_sitearch}/__pycache__/*
%files -n python%{python3_other_pkgversion}-jupyroot
@@ -3475,6 +3556,7 @@ fi
%{_libdir}/%{name}/libRDAVIX_rdict.pcm
%{_datadir}/%{name}/plugins/TFile/P130_TDavixFile.C
%{_datadir}/%{name}/plugins/TSystem/P045_TDavixSystem.C
+%{_datadir}/%{name}/plugins/ROOT@@Internal@(a)RRawFile/P010_RRawFileDavix.C
%files net-http -f includelist-net-http
%{_libdir}/%{name}/libRHTTP.*
@@ -3548,15 +3630,23 @@ fi
%{_datadir}/%{name}/plugins/TProofServ/P010_TXProofServ.C
%{_datadir}/%{name}/plugins/TSlave/P010_TXSlave.C
-%files roofit -f includelist-roofit
+%files roofit -f includelist-roofit-roofit
%{_libdir}/%{name}/libRooFit.*
%{_libdir}/%{name}/libRooFit_rdict.pcm
+
+%files roofit-core -f includelist-roofit-roofitcore
%{_libdir}/%{name}/libRooFitCore.*
%{_libdir}/%{name}/libRooFitCore_rdict.pcm
%{_datadir}/gdb/auto-load%{_libdir}/%{name}/libRooFitCore.*
%if %{?fedora}%{!?fedora:0} >= 28 || %{?rhel}%{!?rhel:0} >= 8
%{_datadir}/gdb/auto-load%{_libdir}/%{name}/__pycache__/libRooFitCore.*
%endif
+
+%files roofit-more -f includelist-roofit-roofitmore
+%{_libdir}/%{name}/libRooFitMore.*
+%{_libdir}/%{name}/libRooFitMore_rdict.pcm
+
+%files roostats -f includelist-roofit-roostats
%{_libdir}/%{name}/libRooStats.*
%{_libdir}/%{name}/libRooStats_rdict.pcm
%dir %{_includedir}/%{name}/RooStats
@@ -3652,7 +3742,7 @@ fi
%{_libdir}/%{name}/libROOTGpadv7.*
%{_libdir}/%{name}/libROOTGpadv7_rdict.pcm
-%files graf-primitives -f includelist-graf2d-primitives
+%files graf-primitives -f includelist-graf2d-primitivesv7
%{_libdir}/%{name}/libROOTGraphicsPrimitives.*
%{_libdir}/%{name}/libROOTGraphicsPrimitives_rdict.pcm
@@ -3686,7 +3776,11 @@ fi
%{_libdir}/%{name}/libWebGui6_rdict.pcm
%{_datadir}/%{name}/plugins/TGuiFactory/P030_TWebGuiFactory.C
-%files hist-draw -f includelist-hist-histdraw
+%files histv7 -f includelist-hist-histv7
+%{_libdir}/%{name}/libROOTHist.*
+%{_libdir}/%{name}/libROOTHist_rdict.pcm
+
+%files hist-draw -f includelist-hist-histdrawv7
%{_libdir}/%{name}/libROOTHistDraw.*
%{_libdir}/%{name}/libROOTHistDraw_rdict.pcm
@@ -3696,6 +3790,28 @@ fi
%endif
%changelog
+* Sun Mar 22 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.20.02-1
+- Update to 6.20.02
+- Drop patches accepted upstream
+ - root-dont-download-input-file-if-it-already-exists.patch
+ - root-fix-plugin-definition.patch
+ - root-man-install.patch
+ - root-pretty-printers.patch
+ - root-python3.patch
+ - root-stress-aarch64-ppc64le.patch
+- Drop patches no longer relevant due to changes to the code
+ - root-missing-include-string.patch
+ - root-static-constexpr.patch
+- Add workaround for PyROOT issues on ppc64le in EPEL 7
+ - root-epel7-ppc64le-pyroot.patch (patch conditionally applied)
+- Fix path to moved data file in tutorial
+ - root-moved-file.patch
+- Split the root-roofit subpackage into four different packages
+ - root-roofit, root-roofit-core, root-roofit-more and root-roostats
+ - The root-roofit-more library splits out the part of roofit that depends on
+ the root-mathmore package
+- New subpackage: root-histv7
+
* Sat Mar 14 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-6
- Build for 32 bit ARM again - gcc-10.0.1-0.9 fixes the problem
diff --git a/sources b/sources
index b86045b..0372c45 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (root-6.18.04.tar.xz) = 9ce3b5e1fa79cc010aa3b20ad3bfd8c4cf8605c17c0fb79991614ae299f3e08f00e76a1847b53f368a7bf006d90c1b5d152d1bf65a32b94f80835a47c60e03e6
+SHA512 (root-6.20.02.tar.xz) = 65f60c52485e72ef405daf10fa08a2d453c7f72f5f3721b97762094713dad1b0f5cb5a37a2a1c30f78bf97c358679f71829bc16833914e6f2ba82e9165521581
SHA512 (root-testfiles.tar.xz) = 7006c6591b587c24cf75dc4f6ed9586165b27102539fdde580d0a95853fcec7e9980a881e49e64a09f90af341a8c8fd2f493305ed88e07af144fabd438ba283e
4 years, 2 months
Architecture specific change in rpms/root.git
by githook-noreply@fedoraproject.org
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=cce2ff465c6eb...
https://src.fedoraproject.org/cgit/rpms/root.git/commit/?id=fba71390e25b3...
https://src.fedoraproject.org/cgit/rpms/root.git/commit/?id=69d6612d86751...
https://src.fedoraproject.org/cgit/rpms/root.git/commit/?id=baedd3ac92b83....
Change:
-%ifarch aarch64
-%ifarch ppc64le
-%ifarch aarch64
+%ifarch aarch64
Thanks.
Full change:
============
commit fba71390e25b305d35bd7bb28a909f03ece6da25
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Mon Mar 23 10:03:24 2020 +0100
Update to 6.20.02
Drop patches accepted upstream
root-dont-download-input-file-if-it-already-exists.patch
root-fix-plugin-definition.patch
root-man-install.patch
root-pretty-printers.patch
root-python3.patch
root-stress-aarch64-ppc64le.patch
Drop patches no longer relevant due to changes to the code
root-missing-include-string.patch
root-static-constexpr.patch
Add workaround for PyROOT issues on ppc64le in EPEL 7
root-epel7-ppc64le-pyroot.patch (patch conditionally applied)
Fix path to moved data file in tutorial
root-moved-file.patch
Split the root-roofit subpackage into four different packages
root-roofit, root-roofit-core, root-roofit-more and root-roostats
The root-roofit-more library splits out the part of roofit that depends on
the root-mathmore package
New subpackage: root-histv7
diff --git a/root-32bit-dataframe.patch b/root-32bit-dataframe.patch
index dd71ad6..e47b913 100644
--- a/root-32bit-dataframe.patch
+++ b/root-32bit-dataframe.patch
@@ -1,7 +1,7 @@
-diff -ur root-6.18.04.orig/bindings/pyroot/ROOT.py root-6.18.04/bindings/pyroot/ROOT.py
---- root-6.18.04.orig/bindings/pyroot/ROOT.py 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/ROOT.py 2020-03-13 19:58:32.330575246 +0100
-@@ -449,9 +449,7 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/ROOT.py root-6.20.02/bindings/pyroot/ROOT.py
+--- root-6.20.02.orig/bindings/pyroot/ROOT.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/ROOT.py 2020-03-15 19:50:25.303179253 +0100
+@@ -438,9 +438,7 @@
# This function is injected as method to the respective classes in Pythonize.cxx.
_root._RDataFrameAsNumpy = _RDataFrameAsNumpy
@@ -12,26 +12,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/ROOT.py root-6.18.04/bindings/pyroot/
### RINT command emulation ------------------------------------------------------
-diff -ur root-6.18.04.orig/bindings/pyroot/test/CMakeLists.txt root-6.18.04/bindings/pyroot/test/CMakeLists.txt
---- root-6.18.04.orig/bindings/pyroot/test/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/test/CMakeLists.txt 2020-03-13 19:58:32.330575246 +0100
-@@ -4,10 +4,7 @@
- ROOT_ADD_PYUNITTEST(pyroot_rvec rvec.py)
- if(NUMPY_FOUND)
- ROOT_ADD_PYUNITTEST(pyroot_array_interface array_interface.py)
-- # this excludes RDF for 32 bits builds because of clang/gcc abi issues
-- if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
-- ROOT_ADD_PYUNITTEST(pyroot_rdataframe_asnumpy rdataframe_asnumpy.py)
-- ROOT_ADD_PYUNITTEST(pyroot_ttree_asmatrix ttree_asmatrix.py)
-- endif()
-+ ROOT_ADD_PYUNITTEST(pyroot_rdataframe_asnumpy rdataframe_asnumpy.py)
-+ ROOT_ADD_PYUNITTEST(pyroot_ttree_asmatrix ttree_asmatrix.py)
- endif()
-
-diff -ur root-6.18.04.orig/build/unix/makepchinput.py root-6.18.04/build/unix/makepchinput.py
---- root-6.18.04.orig/build/unix/makepchinput.py 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/build/unix/makepchinput.py 2020-03-13 19:58:32.331575236 +0100
-@@ -263,9 +263,6 @@
+diff -ur root-6.20.02.orig/build/unix/makepchinput.py root-6.20.02/build/unix/makepchinput.py
+--- root-6.20.02.orig/build/unix/makepchinput.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/build/unix/makepchinput.py 2020-03-15 19:50:25.304179242 +0100
+@@ -252,9 +252,6 @@
"math/vdt",
"tmva/rmva"]
@@ -41,39 +25,9 @@ diff -ur root-6.18.04.orig/build/unix/makepchinput.py root-6.18.04/build/unix/ma
accepted = isAnyPatternInString(PCHPatternsWhitelist,dirName) and \
not isAnyPatternInString(PCHPatternsBlacklist,dirName)
-diff -ur root-6.18.04.orig/config/root-config.in root-6.18.04/config/root-config.in
---- root-6.18.04.orig/config/root-config.in 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/config/root-config.in 2020-03-13 20:06:39.876361426 +0100
-@@ -76,10 +76,7 @@
- -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread\
- -lMultiProc"
-
--if [ "@UNIX@" != "1" ] || [ "@CMAKE_SIZEOF_VOID_P@" != "4" ]; then
-- rootlibs="$rootlibs -lROOTDataFrame"
--fi
--
-+rootlibs="$rootlibs -lROOTDataFrame"
-
- if test "$platform" = "win32"; then
- rootulibs="-include:_G__cpp_setupG__Net \
-diff -ur root-6.18.04.orig/tree/dataframe/CMakeLists.txt root-6.18.04/tree/dataframe/CMakeLists.txt
---- root-6.18.04.orig/tree/dataframe/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/CMakeLists.txt 2020-03-13 19:58:32.332575225 +0100
-@@ -3,11 +3,6 @@
- # @author Danilo Piparo CERN, Pere Mato CERN
- ############################################################################
-
--# Disable RDataFrame on 32-bit UNIX platforms due to ROOT-9236
--if(UNIX AND CMAKE_SIZEOF_VOID_P EQUAL 4)
-- return()
--endif()
--
- if(arrow)
- list(APPEND RDATAFRAME_EXTRA_HEADERS ROOT/RArrowDS.hxx)
- list(APPEND RDATAFRAME_EXTRA_INCLUDES -I${ARROW_INCLUDE_DIR})
-diff -ur root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx root-6.18.04/tree/dataframe/test/dataframe_cache.cxx
---- root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/dataframe_cache.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/dataframe_cache.cxx root-6.20.02/tree/dataframe/test/dataframe_cache.cxx
+--- root-6.20.02.orig/tree/dataframe/test/dataframe_cache.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/dataframe_cache.cxx 2020-03-15 19:50:09.075351525 +0100
@@ -224,8 +224,6 @@
}
@@ -89,9 +43,9 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx root-6.18.04/
}
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx root-6.18.04/tree/dataframe/test/datasource_arrow.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_arrow.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_arrow.cxx root-6.20.02/tree/dataframe/test/datasource_arrow.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_arrow.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_arrow.cxx 2020-03-15 19:50:09.075351525 +0100
@@ -163,8 +163,6 @@
}
#endif
@@ -107,10 +61,10 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx root-6.18.04
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx root-6.18.04/tree/dataframe/test/datasource_csv.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_csv.cxx 2020-03-13 20:26:14.841831219 +0100
-@@ -193,8 +193,6 @@
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_csv.cxx root-6.20.02/tree/dataframe/test/datasource_csv.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_csv.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_csv.cxx 2020-03-15 19:57:05.490930922 +0100
+@@ -195,8 +195,6 @@
}
#endif
@@ -119,15 +73,15 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx root-6.18.04/t
TEST(RCsvDS, FromARDF)
{
std::unique_ptr<RDataSource> tds(new RCsvDS(fileName0));
-@@ -290,5 +288,3 @@
+@@ -292,5 +290,3 @@
}
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx root-6.18.04/tree/dataframe/test/datasource_root.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_root.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_root.cxx root-6.20.02/tree/dataframe/test/datasource_root.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_root.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_root.cxx 2020-03-15 19:50:09.076351514 +0100
@@ -117,8 +117,6 @@
}
#endif
@@ -143,9 +97,9 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx root-6.18.04/
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx root-6.18.04/tree/dataframe/test/datasource_trivial.cxx
---- root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tree/dataframe/test/datasource_trivial.cxx 2020-03-13 20:13:04.021253192 +0100
+diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_trivial.cxx root-6.20.02/tree/dataframe/test/datasource_trivial.cxx
+--- root-6.20.02.orig/tree/dataframe/test/datasource_trivial.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tree/dataframe/test/datasource_trivial.cxx 2020-03-15 19:50:09.076351514 +0100
@@ -132,8 +132,6 @@
EXPECT_EQ(*tdfAll.Count(), 20ULL);
}
@@ -161,11 +115,11 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx root-6.18.
#endif // R__USE_IMT
-
-#endif // R__B64
-diff -ur root-6.18.04.orig/tutorials/CMakeLists.txt root-6.18.04/tutorials/CMakeLists.txt
---- root-6.18.04.orig/tutorials/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/tutorials/CMakeLists.txt 2020-03-13 19:58:32.333575214 +0100
-@@ -212,10 +212,6 @@
- v7/ntuple/ntpl004_dimuon.C)
+diff -ur root-6.20.02.orig/tutorials/CMakeLists.txt root-6.20.02/tutorials/CMakeLists.txt
+--- root-6.20.02.orig/tutorials/CMakeLists.txt 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/tutorials/CMakeLists.txt 2020-03-15 19:59:35.808335176 +0100
+@@ -255,10 +255,6 @@
+ set(root7_veto v7/ntuple/ntpl004_dimuon.C)
endif()
-if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
@@ -174,26 +128,20 @@ diff -ur root-6.18.04.orig/tutorials/CMakeLists.txt root-6.18.04/tutorials/CMake
-
#---These ones are disabled !!! ------------------------------------
set(extra_veto
- htmlex.C
-@@ -266,7 +262,6 @@
+ legacy/benchmarks.C
+@@ -311,7 +307,6 @@
${classic_veto}
${pythia_veto}
${root7_veto}
- ${bits32_veto}
${xrootd_veto}
- )
-
-@@ -424,13 +419,6 @@
-
+ ${mlp_veto}
+ ${spectrum_veto}
+@@ -513,7 +508,6 @@
list(REMOVE_ITEM pytutorials ${pyveto})
-- if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
-- set(bits32_veto_py dataframe/*.py)
-- file(GLOB bits32_veto_py RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} dataframe/*.py)
-- list(REMOVE_ITEM pytutorials ${bits32_veto_py})
-- list(REMOVE_ITEM pytutorials pyroot/pyroot002_TTreeAsMatrix.py)
-- endif()
--
- #---Python tutorials dependencies--------------------------------------
- set(pyroot-ntuple1-depends tutorial-pyroot-hsimple-py)
- set(pyroot-h1draw-depends tutorial-pyroot-hsimple-py)
+ if(NOT dataframe)
+- set(dataframe_veto_py dataframe/*.py)
+ file(GLOB dataframe_veto_py RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} dataframe/*.py tmva/tmva*.py)
+ list(REMOVE_ITEM pytutorials ${dataframe_veto_py})
+ list(REMOVE_ITEM pytutorials pyroot/pyroot002_TTreeAsMatrix.py)
diff --git a/root-doc-no-notebooks.patch b/root-doc-no-notebooks.patch
index 23ca293..f94d31f 100644
--- a/root-doc-no-notebooks.patch
+++ b/root-doc-no-notebooks.patch
@@ -1,6 +1,7 @@
---- root-6.16.00.orig/documentation/doxygen/filter.cxx 2019-02-14 14:44:47.132678348 +0100
-+++ root-6.16.00/documentation/doxygen/filter.cxx 2019-02-14 14:45:00.596532589 +0100
-@@ -367,16 +367,7 @@
+diff -ur root-6.20.02.orig/documentation/doxygen/filter.cxx root-6.20.02/documentation/doxygen/filter.cxx
+--- root-6.20.02.orig/documentation/doxygen/filter.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/documentation/doxygen/filter.cxx 2020-03-15 20:05:59.047270429 +0100
+@@ -378,16 +378,7 @@
// notebook found
if (gLineString.find("\\notebook") != string::npos) {
@@ -13,7 +14,7 @@
- else{
- gLineString = "/// ";
- }
-- gLineString += StringFormat( "\\htmlonly <a href=\"http://nbviewer.jupyter.org/url/root.cern.ch/doc/master/notebooks/%s.nbco..." target=\"_blank\"><img src= notebook.gif alt=\"View in nbviewer\" style=\"height:1em\" ></a> <a href=\"https://cern.ch/swanserver/cgi-bin/go?projurl=https://root.cern.ch/doc/ma..." target=\"_blank\"><img src=\"http://swanserver.web.cern.ch/swanserver/images/badge_swan_white_150.png\" alt=\"Open in SWAN\" style=\"height:1em\" ></a> \\endhtmlonly \n", gMacroName.c_str() , gMacroName.c_str());
+- gLineString += StringFormat( "\\htmlonly <a href=\"https://nbviewer.jupyter.org/url/root.cern/doc/master/notebooks/%s.nbconv..." target=\"_blank\"><img src= notebook.gif alt=\"View in nbviewer\" style=\"height:1em\" ></a> <a href=\"https://cern.ch/swanserver/cgi-bin/go?projurl=https://root.cern/doc/maste..." target=\"_blank\"><img src=\"https://swanserver.web.cern.ch/swanserver/images/badge_swan_white_150.png\" alt=\"Open in SWAN\" style=\"height:1em\" ></a> \\endhtmlonly \n", gMacroName.c_str() , gMacroName.c_str());
+ gLineString = "";
}
diff --git a/root-dont-download-input-file-if-it-already-exists.patch b/root-dont-download-input-file-if-it-already-exists.patch
deleted file mode 100644
index 78557b2..0000000
--- a/root-dont-download-input-file-if-it-already-exists.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 3207d634576d48462b41b4aec0e9198293aa4a9f Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Fri, 28 Jun 2019 09:23:19 +0200
-Subject: [PATCH] Don't download input file if it already exists This allows
- running the tests with pre-fetched file in environments without network -
- like e.g. the Fedora package build server
-
----
- tutorials/dataframe/df014_CSVDataSource.C | 3 ++-
- tutorials/dataframe/df014_CSVDataSource.py | 4 +++-
- tutorials/dataframe/df015_LazyDataSource.C | 3 ++-
- 3 files changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/tutorials/dataframe/df014_CSVDataSource.C b/tutorials/dataframe/df014_CSVDataSource.C
-index 18a6a5afaf..9f1b69688a 100644
---- a/tutorials/dataframe/df014_CSVDataSource.C
-+++ b/tutorials/dataframe/df014_CSVDataSource.C
-@@ -23,7 +23,8 @@ int df014_CSVDataSource()
- // The types of the columns will be automatically inferred.
- auto fileNameUrl = "http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv";
- auto fileName = "df014_CsvDataSource_MuRun2010B_cpp.csv";
-- TFile::Cp(fileNameUrl, fileName);
-+ if(gSystem->AccessPathName(fileName))
-+ TFile::Cp(fileNameUrl, fileName);
- auto tdf = ROOT::RDF::MakeCsvDataFrame(fileName);
-
- // Now we will apply a first filter based on two columns of the CSV,
-diff --git a/tutorials/dataframe/df014_CSVDataSource.py b/tutorials/dataframe/df014_CSVDataSource.py
-index dd4823d62f..a8668f5e49 100644
---- a/tutorials/dataframe/df014_CSVDataSource.py
-+++ b/tutorials/dataframe/df014_CSVDataSource.py
-@@ -18,12 +18,14 @@
- ## \author Enric Tejedor
-
- import ROOT
-+import os
-
- # Let's first create a RDF that will read from the CSV file.
- # The types of the columns will be automatically inferred.
- fileNameUrl = "http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv"
- fileName = "df014_CsvDataSource_MuRun2010B_py.csv"
--ROOT.TFile.Cp(fileNameUrl, fileName)
-+if not os.path.isfile(fileName):
-+ ROOT.TFile.Cp(fileNameUrl, fileName)
-
- MakeCsvDataFrame = ROOT.ROOT.RDF.MakeCsvDataFrame
- tdf = MakeCsvDataFrame(fileName)
-diff --git a/tutorials/dataframe/df015_LazyDataSource.C b/tutorials/dataframe/df015_LazyDataSource.C
-index fc5567b5bd..f8623ddce4 100644
---- a/tutorials/dataframe/df015_LazyDataSource.C
-+++ b/tutorials/dataframe/df015_LazyDataSource.C
-@@ -25,7 +25,8 @@ int df015_LazyDataSource()
- // See the tutorial relative to CSV data sources for more details!
- auto fileNameUrl = "http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv";
- auto fileName = "df015_CsvDataSource_MuRun2010B.csv";
-- TFile::Cp(fileNameUrl, fileName);
-+ if(gSystem->AccessPathName(fileName))
-+ TFile::Cp(fileNameUrl, fileName);
-
- auto csv_rdf = MakeCsvDataFrame(fileName);
-
---
-2.21.0
-
diff --git a/root-epel7-ppc64le-pyroot.patch b/root-epel7-ppc64le-pyroot.patch
new file mode 100644
index 0000000..2d9c400
--- /dev/null
+++ b/root-epel7-ppc64le-pyroot.patch
@@ -0,0 +1,23 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/Cppyy.cxx root-6.20.02/bindings/pyroot/src/Cppyy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/Cppyy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/Cppyy.cxx 2020-03-21 14:10:09.322489811 +0100
+@@ -74,10 +74,6 @@
+ class ApplicationStarter {
+ public:
+ ApplicationStarter() {
+- // Insure ROOT's atexit is executed *after* the atexit that calls
+- // ApplicationStarter's destructor, by forcing the ROOT's atexit
+- // registration now.
+- TROOT::Initialize();
+ // setup dummy holders for global and std namespaces
+ assert( g_classrefs.size() == GLOBAL_HANDLE );
+ g_name2classrefidx[ "" ] = GLOBAL_HANDLE;
+@@ -90,8 +86,6 @@
+ }
+
+ ~ApplicationStarter() {
+- for ( auto ifunc : g_method2callfunc )
+- gInterpreter->CallFunc_Delete( ifunc.second );
+ }
+ } _applicationStarter;
+
diff --git a/root-fix-plugin-definition.patch b/root-fix-plugin-definition.patch
deleted file mode 100644
index 3f3d3d5..0000000
--- a/root-fix-plugin-definition.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 444b03b6e3ce0554f687443a42310fe01fba276c Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Thu, 27 Jun 2019 18:24:58 +0200
-Subject: [PATCH 2/2] Use the correct library name in the plugin definitions
-
----
- etc/plugins/TFile/P090_TSQLFile.C | 4 ++--
- etc/plugins/TFileStager/P010_TXNetFileStager.C | 2 +-
- etc/plugins/TGuiFactory/P030_TWebGuiFactory.C | 2 +-
- etc/plugins/TImagePlugin/P010_TASPluginGS.C | 6 +++---
- etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C | 2 +-
- etc/plugins/TVirtualX/P060_TWebVirtualX.C | 2 +-
- 6 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/etc/plugins/TFile/P090_TSQLFile.C b/etc/plugins/TFile/P090_TSQLFile.C
-index bc006053d4..a6441ffbef 100644
---- a/etc/plugins/TFile/P090_TSQLFile.C
-+++ b/etc/plugins/TFile/P090_TSQLFile.C
-@@ -1,7 +1,7 @@
- void P090_TSQLFile()
- {
- gPluginMgr->AddHandler("TFile", "^mysql:", "TSQLFile",
-- "SQL", "TSQLFile(const char*,Option_t*,const char*,const char*)");
-+ "SQLIO", "TSQLFile(const char*,Option_t*,const char*,const char*)");
- gPluginMgr->AddHandler("TFile", "^oracle:", "TSQLFile",
-- "SQL", "TSQLFile(const char*,Option_t*,const char*,const char*)");
-+ "SQLIO", "TSQLFile(const char*,Option_t*,const char*,const char*)");
- }
-diff --git a/etc/plugins/TFileStager/P010_TXNetFileStager.C b/etc/plugins/TFileStager/P010_TXNetFileStager.C
-index 884ce7e103..66cd8d575e 100644
---- a/etc/plugins/TFileStager/P010_TXNetFileStager.C
-+++ b/etc/plugins/TFileStager/P010_TXNetFileStager.C
-@@ -2,7 +2,7 @@ void P010_TXNetFileStager()
- {
- if (!gEnv->GetValue("XNet.UseOldClient", 0)) {
- gPluginMgr->AddHandler("TFileStager", "^[x]?root:", "TNetXNGFileStager",
-- "NetXNG", "TNetXNGFileStager(const char *)");
-+ "NetxNG", "TNetXNGFileStager(const char *)");
- } else {
- gPluginMgr->AddHandler("TFileStager", "^[x]?root:", "TXNetFileStager",
- "Netx", "TXNetFileStager(const char *)");
-diff --git a/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C b/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C
-index 873ba03ebd..fe83cf06e1 100644
---- a/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C
-+++ b/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C
-@@ -1,4 +1,4 @@
- void P030_TWebGuiFactory()
- {
-- gPluginMgr->AddHandler("TGuiFactory", "web", "TWebGuiFactory", "WebGui", "TWebGuiFactory()");
-+ gPluginMgr->AddHandler("TGuiFactory", "web", "TWebGuiFactory", "WebGui6", "TWebGuiFactory()");
- }
-diff --git a/etc/plugins/TImagePlugin/P010_TASPluginGS.C b/etc/plugins/TImagePlugin/P010_TASPluginGS.C
-index c2e3e45c1a..9e401e74f1 100644
---- a/etc/plugins/TImagePlugin/P010_TASPluginGS.C
-+++ b/etc/plugins/TImagePlugin/P010_TASPluginGS.C
-@@ -1,9 +1,9 @@
- void P010_TASPluginGS()
- {
- gPluginMgr->AddHandler("TImagePlugin", "ps", "TASPluginGS",
-- "ASPluginGS", "TASPluginGS(const char*)");
-+ "ASImage", "TASPluginGS(const char*)");
- gPluginMgr->AddHandler("TImagePlugin", "eps", "TASPluginGS",
-- "ASPluginGS", "TASPluginGS(const char*)");
-+ "ASImage", "TASPluginGS(const char*)");
- gPluginMgr->AddHandler("TImagePlugin", "pdf", "TASPluginGS",
-- "ASPluginGS", "TASPluginGS(const char*)");
-+ "ASImage", "TASPluginGS(const char*)");
- }
-diff --git a/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C b/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C
-index 2a919023f9..f1be760487 100644
---- a/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C
-+++ b/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C
-@@ -1,5 +1,5 @@
- void P010_TGraphPainter()
- {
- gPluginMgr->AddHandler("TVirtualGraphPainter", "*", "TGraphPainter",
-- "GraphPainter", "TGraphPainter()");
-+ "HistPainter", "TGraphPainter()");
- }
-diff --git a/etc/plugins/TVirtualX/P060_TWebVirtualX.C b/etc/plugins/TVirtualX/P060_TWebVirtualX.C
-index e624c34e7b..26f9650e94 100644
---- a/etc/plugins/TVirtualX/P060_TWebVirtualX.C
-+++ b/etc/plugins/TVirtualX/P060_TWebVirtualX.C
-@@ -1,4 +1,4 @@
- void P060_TWebVirtualX()
- {
-- gPluginMgr->AddHandler("TVirtualX", "web", "TWebVirtualX", "WebGui", "TWebVirtualX(const char*,const char*)");
-+ gPluginMgr->AddHandler("TVirtualX", "web", "TWebVirtualX", "WebGui6", "TWebVirtualX(const char*,const char*)");
- }
---
-2.21.0
-
diff --git a/root-jupyroot-static.patch b/root-jupyroot-static.patch
index bb8e721..2cdb5aa 100644
--- a/root-jupyroot-static.patch
+++ b/root-jupyroot-static.patch
@@ -1,6 +1,6 @@
-diff -ur root-6.18.00.orig/bindings/pyroot/JsMVA/JPyInterface.py root-6.18.00/bindings/pyroot/JsMVA/JPyInterface.py
---- root-6.18.00.orig/bindings/pyroot/JsMVA/JPyInterface.py 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/bindings/pyroot/JsMVA/JPyInterface.py 2019-06-28 22:54:03.937480738 +0200
+diff -ur root-6.20.02.orig/bindings/pyroot/JsMVA/JPyInterface.py root-6.20.02/bindings/pyroot/JsMVA/JPyInterface.py
+--- root-6.20.02.orig/bindings/pyroot/JsMVA/JPyInterface.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/JsMVA/JPyInterface.py 2020-03-15 20:07:18.921423559 +0100
@@ -188,7 +188,7 @@
## Class for creating the output scripts and inserting them to cell output
class JsDraw:
@@ -10,21 +10,21 @@ diff -ur root-6.18.00.orig/bindings/pyroot/JsMVA/JPyInterface.py root-6.18.00/bi
## String containing the link to JavaScript files
__jsMVASourceDir = __jsMVARepo + "/js"
-diff -ur root-6.18.00.orig/bindings/pyroot/JupyROOT/helpers/utils.py root-6.18.00/bindings/pyroot/JupyROOT/helpers/utils.py
---- root-6.18.00.orig/bindings/pyroot/JupyROOT/helpers/utils.py 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/bindings/pyroot/JupyROOT/helpers/utils.py 2019-06-28 22:54:03.938480727 +0200
-@@ -39,7 +39,7 @@
- _jsNotDrawableClassesPatterns = ["TEve*","TF3","TPolyLine3D"]
-
-
--_jsROOTSourceDir = "https://root.cern.ch/js/notebook/"
-+_jsROOTSourceDir = "/static/jsroot/"
- _jsCanvasWidth = 800
- _jsCanvasHeight = 600
-
-diff -ur root-6.18.00.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.18.00/etc/notebook/JsMVA/js/JsMVA.js
---- root-6.18.00.orig/etc/notebook/JsMVA/js/JsMVA.js 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/etc/notebook/JsMVA/js/JsMVA.js 2019-06-28 22:54:03.938480727 +0200
+diff -ur root-6.20.02.orig/bindings/pyroot/JupyROOT/helpers/utils.py root-6.20.02/bindings/pyroot/JupyROOT/helpers/utils.py
+--- root-6.20.02.orig/bindings/pyroot/JupyROOT/helpers/utils.py 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/JupyROOT/helpers/utils.py 2020-03-15 20:07:18.921423559 +0100
+@@ -82,7 +82,7 @@
+ function requirejs_success(base_url) {{
+ return function() {{
+ require.config({{
+- baseUrl: base_url + 'static/'
++ baseUrl: base_url + 'static/jsroot/'
+ }});
+ display_{jsDivId}();
+ }}
+diff -ur root-6.20.02.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.20.02/etc/notebook/JsMVA/js/JsMVA.js
+--- root-6.20.02.orig/etc/notebook/JsMVA/js/JsMVA.js 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/etc/notebook/JsMVA/js/JsMVA.js 2020-03-15 20:07:18.922423549 +0100
@@ -16,7 +16,7 @@
(function(factory){
@@ -34,14 +34,14 @@ diff -ur root-6.18.00.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.18.00/etc/noteb
var url = "";
if (requirejs.s.contexts.hasOwnProperty("_")) {
-diff -ur root-6.18.00.orig/etc/notebook/JsMVA/js/NetworkDesigner.js root-6.18.00/etc/notebook/JsMVA/js/NetworkDesigner.js
---- root-6.18.00.orig/etc/notebook/JsMVA/js/NetworkDesigner.js 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/etc/notebook/JsMVA/js/NetworkDesigner.js 2019-06-29 07:08:46.582682582 +0200
+diff -ur root-6.20.02.orig/etc/notebook/JsMVA/js/NetworkDesigner.js root-6.20.02/etc/notebook/JsMVA/js/NetworkDesigner.js
+--- root-6.20.02.orig/etc/notebook/JsMVA/js/NetworkDesigner.js 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/etc/notebook/JsMVA/js/NetworkDesigner.js 2020-03-15 20:07:18.922423549 +0100
@@ -19,7 +19,7 @@
paths: {
"jquery-connections": baseURL + "jquery.connections.min",
"jquery-timing": baseURL + "jquery-timing.min",
-- "d3": "https://root.cern.ch/js/notebook/scripts/d3.min"
+- "d3": "/static/scripts/d3.min"
+ "d3": "/static/jsroot/scripts/d3.min"
},
shim: {
diff --git a/root-man-install.patch b/root-man-install.patch
deleted file mode 100644
index b5d54e1..0000000
--- a/root-man-install.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 3f1e65654ddec561e5161d0f62367497d16aa223 Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Thu, 27 Jun 2019 18:22:13 +0200
-Subject: [PATCH 1/2] Install generated man pages in the correct subdirectory
- (man/man1)
-
----
- cmake/modules/RootNewMacros.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/modules/RootNewMacros.cmake b/cmake/modules/RootNewMacros.cmake
-index 0780ea5a5a..58e403a249 100644
---- a/cmake/modules/RootNewMacros.cmake
-+++ b/cmake/modules/RootNewMacros.cmake
-@@ -1540,5 +1540,5 @@ function(generateManual name input output)
- ${PYTHON_EXECUTABLE} -B ${CMAKE_SOURCE_DIR}/build/misc/argparse2help.py ${input} ${output}
- )
-
-- install(FILES ${output} DESTINATION ${CMAKE_INSTALL_MANDIR})
-+ install(FILES ${output} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
- endfunction()
---
-2.21.0
-
diff --git a/root-memory-arm-x86.patch b/root-memory-arm-x86.patch
index 54c4149..2de8e36 100644
--- a/root-memory-arm-x86.patch
+++ b/root-memory-arm-x86.patch
@@ -6,8 +6,8 @@
+# Reduce memory usage during linking on ARM and x86 by generating minimal debuginfo
+if(ROOT_ARCHITECTURE STREQUAL "linuxarm" OR ROOT_ARCHITECTURE STREQUAL "linux")
-+ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-+ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}")
++ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
++ string(REPLACE " -g " " -g1 " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+endif()
+
set(LLVM_TARGETS_TO_BUILD ${ROOT_CLING_TARGET} CACHE STRING "Semicolon-separated list of targets to build, or \"all\".")
diff --git a/root-missing-include-string.patch b/root-missing-include-string.patch
deleted file mode 100644
index f870e14..0000000
--- a/root-missing-include-string.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx
---- root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2020-01-23 11:27:58.637463837 +0100
-@@ -17,6 +17,7 @@
- #define ROOT7_RColor
-
- #include <array>
-+#include <string>
- #include <vector>
-
- namespace ROOT {
diff --git a/root-moved-file.patch b/root-moved-file.patch
new file mode 100644
index 0000000..948a78b
--- /dev/null
+++ b/root-moved-file.patch
@@ -0,0 +1,27 @@
+From 6492170d74f464286de22c40554adbd400ec838b Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Fri, 13 Mar 2020 12:53:34 +0100
+Subject: [PATCH] The file was moved - update path
+
+---
+ tutorials/legacy/mlp/mlpHiggs.C | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tutorials/legacy/mlp/mlpHiggs.C b/tutorials/legacy/mlp/mlpHiggs.C
+index 49d3ca2b30..0516ed7c50 100644
+--- a/tutorials/legacy/mlp/mlpHiggs.C
++++ b/tutorials/legacy/mlp/mlpHiggs.C
+@@ -18,8 +18,8 @@ void mlpHiggs(Int_t ntrain=100) {
+ TFile *input = 0;
+ if (!gSystem->AccessPathName(fname)) {
+ input = TFile::Open(fname);
+- } else if (!gSystem->AccessPathName(Form("%s/mlp/%s", TROOT::GetTutorialDir().Data(), fname))) {
+- input = TFile::Open(Form("%s/mlp/%s", TROOT::GetTutorialDir().Data(), fname));
++ } else if (!gSystem->AccessPathName(Form("%s/legacy/mlp/%s", TROOT::GetTutorialDir().Data(), fname))) {
++ input = TFile::Open(Form("%s/legacy/mlp/%s", TROOT::GetTutorialDir().Data(), fname));
+ } else {
+ printf("accessing %s file from http://root.cern.ch/files\n",fname);
+ input = TFile::Open(Form("http://root.cern.ch/files/%s",fname));
+--
+2.24.1
+
diff --git a/root-pretty-printers.patch b/root-pretty-printers.patch
deleted file mode 100644
index 4ded487..0000000
--- a/root-pretty-printers.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 88f6e1b332489582f457d17afd6a2a6f6a4f988d Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Mon, 1 Jul 2019 08:56:27 +0200
-Subject: [PATCH] Install GDB pretty printers with correct filename when using
- soversion
-
-The name of the pretty printer script must match the name of the
-binary, not a symlink. When soversion is used the unversioned .so file
-is a symlink to the versioned library file.
----
- build/CMakeLists.txt | 23 +++++++++++++++++------
- 1 file changed, 17 insertions(+), 6 deletions(-)
-
-diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt
-index b84481041b..03644b6c00 100644
---- a/build/CMakeLists.txt
-+++ b/build/CMakeLists.txt
-@@ -20,12 +20,23 @@ ROOT_EXECUTABLE(rmkdepend
- )
-
- IF(CMAKE_BUILD_TYPE MATCHES "Debug|RelWithDebInfo")
-- file(COPY "gdbPrinters/"
-- DESTINATION ${CMAKE_BINARY_DIR}/lib
-- FILES_MATCHING PATTERN "*-gdb.py")
-+ file(GLOB PRETTY_PRINTERS "gdbPrinters/*.so-gdb.py")
-+ set(PRETTY_PRINTER_DESTS)
-+ foreach(PRETTY_PRINTER ${PRETTY_PRINTERS})
-+ get_filename_component(PRETTY_PRINTER_DEST ${PRETTY_PRINTER} NAME)
-+ if(soversion)
-+ string(REPLACE ".so-gdb.py" ".so.${ROOT_VERSION}-gdb.py"
-+ PRETTY_PRINTER_DEST ${PRETTY_PRINTER_DEST})
-+ endif(soversion)
-+ set(PRETTY_PRINTER_DEST ${CMAKE_BINARY_DIR}/lib/${PRETTY_PRINTER_DEST})
-+ add_custom_command(OUTPUT ${PRETTY_PRINTER_DEST}
-+ COMMAND ${CMAKE_COMMAND} -E copy ${PRETTY_PRINTER} ${PRETTY_PRINTER_DEST}
-+ DEPENDS ${PRETTY_PRINTER})
-+ list(APPEND PRETTY_PRINTER_DESTS ${PRETTY_PRINTER_DEST})
-+ endforeach()
-+ add_custom_target(copy_pretty_printers ALL DEPENDS ${PRETTY_PRINTER_DESTS})
-
-- file(GLOB PRETTY_PRINTERS "gdbPrinters/*-gdb.py")
-- install(FILES ${PRETTY_PRINTERS}
-- DESTINATION lib
-+ install(FILES ${PRETTY_PRINTER_DESTS}
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
- CONFIGURATIONS Debug RelWithDebInfo)
- ENDIF()
---
-2.21.0
-
diff --git a/root-python3.8-object.patch b/root-python3.8-object.patch
index ed4ef9f..2447e31 100644
--- a/root-python3.8-object.patch
+++ b/root-python3.8-object.patch
@@ -1,7 +1,7 @@
-diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bindings/pyroot/src/MethodProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/MethodProxy.cxx 2020-03-13 16:46:56.538971601 +0100
-@@ -839,7 +839,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/MethodProxy.cxx root-6.20.02/bindings/pyroot/src/MethodProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/MethodProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/MethodProxy.cxx 2020-03-15 19:43:20.946684699 +0100
+@@ -845,7 +845,8 @@
sizeof(MethodProxy), // tp_basicsize
0, // tp_itemsize
(destructor)mp_dealloc, // tp_dealloc
@@ -11,7 +11,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bind
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -888,6 +889,12 @@
+@@ -894,6 +895,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -24,10 +24,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bind
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bindings/pyroot/src/ObjectProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/ObjectProxy.cxx 2020-03-13 16:46:56.539971591 +0100
-@@ -397,7 +397,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.20.02/bindings/pyroot/src/ObjectProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/ObjectProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/ObjectProxy.cxx 2020-03-15 19:43:20.946684699 +0100
+@@ -398,7 +398,8 @@
sizeof(ObjectProxy), // tp_basicsize
0, // tp_itemsize
(destructor)op_dealloc, // tp_dealloc
@@ -37,7 +37,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bind
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -449,6 +450,12 @@
+@@ -450,6 +451,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -50,9 +50,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bind
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.18.04/bindings/pyroot/src/PropertyProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/PropertyProxy.cxx 2020-03-13 16:46:56.539971591 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.20.02/bindings/pyroot/src/PropertyProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/PropertyProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/PropertyProxy.cxx 2020-03-15 19:43:20.946684699 +0100
@@ -133,7 +133,8 @@
sizeof(PropertyProxy), // tp_basicsize
0, // tp_itemsize
@@ -76,10 +76,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.18.04/bi
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindings/pyroot/src/PyRootType.cxx
---- root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/PyRootType.cxx 2020-03-13 16:46:56.539971591 +0100
-@@ -230,7 +230,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/PyRootType.cxx root-6.20.02/bindings/pyroot/src/PyRootType.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/PyRootType.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/PyRootType.cxx 2020-03-15 19:43:20.946684699 +0100
+@@ -232,7 +232,8 @@
sizeof(PyROOT::PyRootClass),// tp_basicsize
0, // tp_itemsize
0, // tp_dealloc
@@ -89,7 +89,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindi
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -279,6 +280,12 @@
+@@ -281,6 +282,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -102,9 +102,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindi
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx root-6.18.04/bindings/pyroot/src/Pythonize.cxx
---- root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/Pythonize.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/Pythonize.cxx root-6.20.02/bindings/pyroot/src/Pythonize.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/Pythonize.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/Pythonize.cxx 2020-03-15 19:43:20.947684688 +0100
@@ -944,6 +944,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
@@ -118,9 +118,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx root-6.18.04/bindin
};
static PyObject* vector_iter( PyObject* v ) {
-diff -ur root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx root-6.18.04/bindings/pyroot/src/RootModule.cxx
---- root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/RootModule.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/RootModule.cxx root-6.20.02/bindings/pyroot/src/RootModule.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/RootModule.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/RootModule.cxx 2020-03-15 19:43:20.948684678 +0100
@@ -134,6 +134,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
@@ -134,9 +134,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx root-6.18.04/bindi
};
PyObject _PyROOT_NullPtrStruct = {
-diff -ur root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.18.04/bindings/pyroot/src/TCustomPyTypes.cxx
---- root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.20.02/bindings/pyroot/src/TCustomPyTypes.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-15 19:43:20.948684678 +0100
@@ -19,7 +19,8 @@
0, // tp_basicsize
0, // tp_itemsize
@@ -206,10 +206,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.18.04/b
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bindings/pyroot/src/TemplateProxy.cxx
---- root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/TemplateProxy.cxx 2020-03-13 16:46:56.541971570 +0100
-@@ -395,7 +395,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.20.02/bindings/pyroot/src/TemplateProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/TemplateProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/TemplateProxy.cxx 2020-03-15 19:43:20.948684678 +0100
+@@ -492,7 +492,8 @@
sizeof(TemplateProxy), // tp_basicsize
0, // tp_itemsize
(destructor)tpp_dealloc, // tp_dealloc
@@ -219,7 +219,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bi
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -444,6 +445,12 @@
+@@ -541,6 +542,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -232,9 +232,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bi
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.18.04/bindings/pyroot/src/TTupleOfInstances.cxx
---- root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-13 16:46:56.540971580 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.20.02/bindings/pyroot/src/TTupleOfInstances.cxx
+--- root-6.20.02.orig/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-15 19:43:20.948684678 +0100
@@ -42,7 +42,8 @@
0, // tp_basicsize
0, // tp_itemsize
@@ -258,10 +258,25 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.18.0
};
} // namespace PyROOT
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-13 16:47:15.029777701 +0100
-@@ -168,7 +168,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt 2020-03-15 19:43:20.949684667 +0100
+@@ -64,11 +64,6 @@
+ target_compile_options(cppyy PRIVATE -Wno-deprecated-register)
+ endif()
+
+-# Disables warnings due to new field tp_vectorcall in Python 3.8
+-if(NOT MSVC AND ${PYTHON_VERSION_STRING} VERSION_GREATER_EQUAL "3.8")
+- target_compile_options(cppyy PRIVATE -Wno-missing-field-initializers)
+-endif()
+-
+ target_include_directories(cppyy PRIVATE ${CMAKE_BINARY_DIR}/include) # needed for string_view backport
+
+ target_include_directories(cppyy PUBLIC ${PYTHON_INCLUDE_DIRS}
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-15 19:43:20.949684667 +0100
+@@ -167,7 +167,8 @@
sizeof(CPPDataMember), // tp_basicsize
0, // tp_itemsize
(destructor)pp_dealloc, // tp_dealloc
@@ -271,7 +286,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDa
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -217,6 +218,12 @@
+@@ -216,6 +217,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -284,10 +299,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDa
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-13 16:47:15.029777701 +0100
-@@ -385,7 +385,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-15 19:43:20.949684667 +0100
+@@ -565,7 +565,8 @@
sizeof(CPPInstance), // tp_basicsize
0, // tp_itemsize
(destructor)op_dealloc, // tp_dealloc
@@ -297,7 +312,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPIn
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -437,6 +438,12 @@
+@@ -617,6 +618,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -310,10 +325,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPIn
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-13 16:47:15.030777691 +0100
-@@ -813,7 +813,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-15 19:43:20.950684656 +0100
+@@ -889,7 +889,8 @@
sizeof(CPPOverload), // tp_basicsize
0, // tp_itemsize
(destructor)mp_dealloc, // tp_dealloc
@@ -323,7 +338,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOv
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -862,6 +863,12 @@
+@@ -938,6 +939,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -336,10 +351,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOv
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-13 16:47:15.030777691 +0100
-@@ -424,7 +424,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-15 19:43:20.950684656 +0100
+@@ -596,7 +596,8 @@
sizeof(CPyCppyy::CPPScope), // tp_basicsize
0, // tp_itemsize
0, // tp_dealloc
@@ -349,7 +364,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPSc
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -473,6 +474,12 @@
+@@ -649,6 +650,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -362,9 +377,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPSc
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-13 16:47:15.030777691 +0100
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-15 19:43:20.951684646 +0100
@@ -140,6 +140,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
@@ -378,10 +393,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCp
};
namespace {
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-13 16:57:57.529034828 +0100
-@@ -32,6 +32,12 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-15 19:43:20.951684646 +0100
+@@ -33,6 +33,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -394,7 +409,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
//= long type allowed for reference passing ==================================
-@@ -54,6 +60,12 @@
+@@ -59,6 +65,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -406,8 +421,21 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
+#endif
};
+ //- custom type representing typedef to pointer of class ---------------------
+@@ -89,6 +101,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
//= instancemethod object with a more efficient call function ================
-@@ -219,6 +231,12 @@
+@@ -254,6 +272,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -420,7 +448,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
-@@ -269,6 +287,12 @@
+@@ -304,6 +328,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -433,7 +461,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
-@@ -320,6 +344,12 @@
+@@ -355,6 +385,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -446,10 +474,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-13 16:47:15.031777680 +0100
-@@ -657,7 +657,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-15 19:43:20.951684646 +0100
+@@ -651,7 +651,8 @@
sizeof(CPyCppyy::LowLevelView),// tp_basicsize
0, // tp_itemsize
(destructor)ll_dealloc, // tp_dealloc
@@ -459,7 +487,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLe
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -707,6 +708,12 @@
+@@ -701,6 +702,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -472,10 +500,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLe
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-13 16:47:15.032777670 +0100
-@@ -515,7 +515,8 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-15 19:43:20.952684635 +0100
+@@ -709,7 +709,8 @@
sizeof(TemplateProxy), // tp_basicsize
0, // tp_itemsize
(destructor)tpp_dealloc, // tp_dealloc
@@ -485,7 +513,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Templ
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -564,6 +565,12 @@
+@@ -758,6 +759,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -498,10 +526,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Templ
};
} // namespace CPyCppyy
-diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx
---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-13 16:47:15.032777670 +0100
-@@ -79,6 +79,12 @@
+diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx
+--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-15 19:43:20.952684635 +0100
+@@ -82,6 +82,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
@@ -514,7 +542,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Tuple
};
-@@ -152,7 +158,8 @@
+@@ -161,7 +167,8 @@
0, // tp_basicsize
0, // tp_itemsize
0, // tp_dealloc
@@ -524,7 +552,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Tuple
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
-@@ -202,6 +209,12 @@
+@@ -211,6 +218,12 @@
#if PY_VERSION_HEX >= 0x03040000
, 0 // tp_finalize
#endif
diff --git a/root-python3.patch b/root-python3.patch
deleted file mode 100644
index e1cda30..0000000
--- a/root-python3.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 4cf9170f308934688e7f767086589cd8cc0a0a85 Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Fri, 28 Jun 2019 22:23:49 +0200
-Subject: [PATCH] Python 3 compatibility
-
----
- tutorials/histfactory/example.py | 2 +-
- tutorials/pyroot/mrt.py | 20 ++++++++++----------
- 2 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/tutorials/histfactory/example.py b/tutorials/histfactory/example.py
-index 91e1d26939..6ccf3bb350 100755
---- a/tutorials/histfactory/example.py
-+++ b/tutorials/histfactory/example.py
-@@ -12,7 +12,7 @@ def main():
- try:
- import ROOT
- except:
-- print "It seems that pyROOT isn't properly configured"
-+ print("It seems that pyROOT isn't properly configured")
- return
-
- """
-diff --git a/tutorials/pyroot/mrt.py b/tutorials/pyroot/mrt.py
-index b3a8c0d719..17a73f6881 100644
---- a/tutorials/pyroot/mrt.py
-+++ b/tutorials/pyroot/mrt.py
-@@ -10,28 +10,28 @@
- ##
- ## \author Wim Lavrijsen
-
--import sys, string, os
--from ROOT import TFile, TNtuple
-+import sys, os
-+from ROOT import TFile, TNtuple, TROOT
-
-
--ifn = os.path.expandvars("${ROOTSYS}/tutorials/pyroot/aptuple.txt")
-+ifn = os.path.join(str(TROOT.GetTutorialDir()), 'pyroot', 'aptuple.txt')
- ofn = 'aptuple.root'
-
--print 'opening file', ifn, '...'
-+print('opening file %s ...' % ifn)
- infile = open( ifn, 'r' )
- lines = infile.readlines()
- title = lines[0]
--labels = string.split( lines[1] )
-+labels = lines[1].split()
-
--print 'writing file', ofn, '...'
-+print('writing file %s ...' % ofn)
- outfile = TFile( ofn, 'RECREATE', 'ROOT file with an NTuple' )
--ntuple = TNtuple( 'ntuple', title, string.join( labels, ':') )
-+ntuple = TNtuple( 'ntuple', title, ':'.join( labels ) )
-
- for line in lines[2:]:
-- words = string.split( line )
-+ words = line.split()
- row = map( float, words )
-- apply( ntuple.Fill, row )
-+ ntuple.Fill(*row)
-
- outfile.Write()
-
--print 'done'
-+print('done')
---
-2.21.0
-
diff --git a/root-static-constexpr.patch b/root-static-constexpr.patch
deleted file mode 100644
index c04ba6f..0000000
--- a/root-static-constexpr.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx
---- root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2020-02-15 21:16:58.819735413 +0100
-@@ -26,6 +26,8 @@
- {
- }
-
-+constexpr const ROOT::Experimental::RDrawingAttrBase::FromOption_t ROOT::Experimental::RDrawingAttrBase::FromOption;
-+
- ROOT::Experimental::RDrawingAttrBase::RDrawingAttrBase(FromOption_t, const Name &name, RDrawingOptsBase &opts) :
- fPath{name.fStr}, fHolder(opts.GetHolder())
- {
diff --git a/root-stress-aarch64-ppc64le.patch b/root-stress-aarch64-ppc64le.patch
deleted file mode 100644
index a925460..0000000
--- a/root-stress-aarch64-ppc64le.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From dd6d00b07778023449a7e6fe01f90a524237b20a Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Mon, 1 Jul 2019 08:53:15 +0200
-Subject: [PATCH] Increase test tolerence
-
-Test fails on aarch64 and ppc64le on Fedora 30 and Fedora rawhide:
-Test 3 : Purge, Reuse of gaps in TFile......................... FAILED
- File size= 52010 (expected 51886 +/- 100)
- Comp Fact= 2.00 (expected 2.1 +/- 0.3)
----
- test/stress.cxx | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/stress.cxx b/test/stress.cxx
-index 509bb0f17d..c0b44d9b77 100644
---- a/test/stress.cxx
-+++ b/test/stress.cxx
-@@ -406,7 +406,7 @@ void stress3()
- #else
- constexpr Long64_t lastgood = 51886;
- #endif
-- constexpr Long64_t tolerance = 100;
-+ constexpr Long64_t tolerance = 150;
- #ifdef R__HAS_DEFAULT_LZ4
- constexpr Long64_t difflastgoodlz4 = 5500;
- if (last < lastgood - tolerance || last > lastgood + difflastgoodlz4 + tolerance || comp < 1.5 || comp > 2.1)
---
-2.21.0
-
diff --git a/root-unbundle-gtest.patch b/root-unbundle-gtest.patch
index 0fe4103..44939ca 100644
--- a/root-unbundle-gtest.patch
+++ b/root-unbundle-gtest.patch
@@ -1,7 +1,7 @@
-diff -ur root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.18.00/cmake/modules/SearchInstalledSoftware.cmake
---- root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/cmake/modules/SearchInstalledSoftware.cmake 2019-06-26 16:00:21.275634375 +0200
-@@ -1380,80 +1380,18 @@
+diff -ur root-6.20.02.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.20.02/cmake/modules/SearchInstalledSoftware.cmake
+--- root-6.20.02.orig/cmake/modules/SearchInstalledSoftware.cmake 2020-03-15 16:21:25.000000000 +0100
++++ root-6.20.02/cmake/modules/SearchInstalledSoftware.cmake 2020-03-15 20:12:34.446078193 +0100
+@@ -1528,83 +1528,18 @@
#---Download googletest--------------------------------------------------------------
if (testing)
@@ -24,7 +24,9 @@ diff -ur root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.18
- if(MSVC)
- set(EXTRA_GTEST_OPTS
- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG:PATH=\\\"\\\"
-- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=\\\"\\\")
+- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_MINSIZEREL:PATH=\\\"\\\"
+- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=\\\"\\\"
+- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO:PATH=\\\"\\\")
- endif()
- if(APPLE)
- set(EXTRA_GTEST_OPTS
@@ -34,6 +36,7 @@ diff -ur root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.18
- ExternalProject_Add(
- googletest
- GIT_REPOSITORY https://github.com/google/googletest.git
+- GIT_SHALLOW 1
- GIT_TAG release-1.8.0
- UPDATE_COMMAND ""
- # TIMEOUT 10
diff --git a/root.spec b/root.spec
index 02e7bb6..7a79f82 100644
--- a/root.spec
+++ b/root.spec
@@ -49,9 +49,9 @@
%global __provides_exclude_from ^(%{?python2_sitearch:%{python2_sitearch}|}%{python3_sitearch}%{?python3_other_sitearch:|%{python3_other_sitearch}})/libJupyROOT\\.so$
Name: root
-Version: 6.18.04
+Version: 6.20.02
%global libversion %(cut -d. -f 1-2 <<< %{version})
-Release: 6%{?dist}
+Release: 1%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@@ -103,51 +103,36 @@ Patch10: %{name}-clang-ignore-gcc-options.patch
Patch11: %{name}-doc-no-notebooks.patch
# Don't run tutorial requiring firefox during doc generation
Patch12: %{name}-v7-line.patch
-# Install man pages in correct directory
-# https://github.com/root-project/root/pull/4026
-Patch13: %{name}-man-install.patch
-# Use correct library names in plugin definitions
-# https://github.com/root-project/root/pull/4026
-Patch14: %{name}-fix-plugin-definition.patch
-# Don't download test input file if it already exists
-# https://github.com/root-project/root/pull/4026
-Patch15: %{name}-dont-download-input-file-if-it-already-exists.patch
-# Python 3 fixes
-# https://github.com/root-project/root/pull/4026
-Patch16: %{name}-python3.patch
-# Increase test tolerance (aarch64 and ppc64le)
-# https://github.com/root-project/root/pull/4025
-Patch17: %{name}-stress-aarch64-ppc64le.patch
-# Fix GDB pretty printers install name and location
-# https://github.com/root-project/root/pull/4024
-Patch18: %{name}-pretty-printers.patch
-# Missing include - fails with gcc 10
-Patch19: %{name}-missing-include-string.patch
# Fix ppc64le build with gcc 10
# https://github.com/root-project/root/pull/5157
-Patch20: %{name}-clang-altivec-vector.patch
-# Missing symbol - with gcc 10
-Patch21: %{name}-static-constexpr.patch
+Patch13: %{name}-clang-altivec-vector.patch
# Fix -Wmissing-field-initializers in python bindings for
# Python 3.8 and 3.9
# https://github.com/root-project/root/pull/5158
-Patch22: %{name}-python3.8-object.patch
+Patch14: %{name}-python3.8-object.patch
# Correct broken assert statements
# https://github.com/root-project/root/pull/5159
-Patch23: %{name}-FitData-assert-fix.patch
+Patch15: %{name}-FitData-assert-fix.patch
# The test that creates the file must run before the test that
# modifies it
# https://github.com/root-project/root/pull/5160
-Patch24: %{name}-xmlmodify-dep.patch
+Patch16: %{name}-xmlmodify-dep.patch
# Use unique filenames in tutorials so they can be run in
# parallel
# Backport from upstream's git
-Patch25: %{name}-tutorials-unique-filenames.patch
+Patch17: %{name}-tutorials-unique-filenames.patch
# Size types should use %z
# https://github.com/root-project/root/pull/5161
-Patch26: %{name}-format-fix.patch
+Patch18: %{name}-format-fix.patch
# Run some test on 32 bit that upstream has disabled
-Patch27: %{name}-32bit-tests.patch
+Patch19: %{name}-32bit-tests.patch
+# The file was moved - update path
+# https://github.com/root-project/root/pull/5162
+Patch20: %{name}-moved-file.patch
+# Workaround for initialization problems for PyROOT on
+# EPEL7 ppc64le
+# https://sft.its.cern.ch/jira/browse/ROOT-10622
+Patch21: %{name}-epel7-ppc64le-pyroot.patch
# s390x suffers from endian issues resulting in failing tests
# and broken documentation generation
@@ -155,9 +140,9 @@ Patch27: %{name}-32bit-tests.patch
ExcludeArch: s390x
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
-BuildRequires: cmake >= 3.4.3
+BuildRequires: cmake >= 3.9
%else
-BuildRequires: cmake3 >= 3.4.3
+BuildRequires: cmake3 >= 3.9
%endif
BuildRequires: libX11-devel
BuildRequires: libXpm-devel
@@ -174,6 +159,7 @@ BuildRequires: zlib-devel
BuildRequires: xz-devel
BuildRequires: lz4-devel
BuildRequires: xxhash-devel
+BuildRequires: libzstd-devel
# Require a version of libAfterImage that is properly linked to
# its dependencies
BuildRequires: libAfterImage-devel >= 1.20-21
@@ -888,9 +874,6 @@ Requires: %{name}-core%{?_isa} = %{version}-%{release}
Requires: %{name}-graf%{?_isa} = %{version}-%{release}
Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
Requires: %{name}-hist%{?_isa} = %{version}-%{release}
-%if %{root7}
-Requires: %{name}-hist-draw%{?_isa} = %{version}-%{release}
-%endif
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
@@ -924,6 +907,8 @@ Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-io-xmlparser%{?_isa} = %{version}-%{release}
Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
Requires: %{name}-roofit%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-roostats%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
%description hist-factory
@@ -1387,21 +1372,49 @@ This package contains the xproof extension for ROOT. This provides a
client to be used in a PROOF environment.
%package roofit
-Summary: ROOT extension for modeling expected distributions
+Summary: ROOT extension for modeling expected distributions - toolkit
+License: BSD
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-hist%{?_isa} = %{version}-%{release}
+Requires: %{name}-io%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
+Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-tree%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
+
+%description roofit
+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 toolkit classes.
+
+%package roofit-core
+Summary: ROOT extension for modeling expected distributions - core
License: BSD
Requires: %{name}-core%{?_isa} = %{version}-%{release}
Requires: %{name}-foam%{?_isa} = %{version}-%{release}
Requires: %{name}-graf%{?_isa} = %{version}-%{release}
-Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
Requires: %{name}-hist%{?_isa} = %{version}-%{release}
Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
-Requires: %{name}-mathmore%{?_isa} = %{version}-%{release}
Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
Requires: %{name}-minuit%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
-%description roofit
+%description roofit-core
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
@@ -1414,6 +1427,54 @@ 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 core RooFit classes.
+
+%package roofit-more
+Summary: ROOT extension for modeling expected distributions - more
+License: BSD
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathmore%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
+
+%description roofit-more
+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 RooFit classes that use the mathmore library.
+
+%package roostats
+Summary: Statistical tools built on top of RooFit
+License: BSD
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
+Requires: %{name}-hist%{?_isa} = %{version}-%{release}
+Requires: %{name}-io%{?_isa} = %{version}-%{release}
+Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
+Requires: %{name}-matrix%{?_isa} = %{version}-%{release}
+Requires: %{name}-minuit%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit%{?_isa} = %{version}-%{release}
+Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-tree%{?_isa} = %{version}-%{release}
+# Package split / Library split (from roofit)
+Obsoletes: %{name}-roofit < 6.20.00
+
+%description roostats
+RooStats is a package containing statistical tools built on top of
+RooFit.
+
%package sql-mysql
Summary: MySQL client plugin for ROOT
Requires: %{name}-core%{?_isa} = %{version}-%{release}
@@ -1550,6 +1611,7 @@ This package contains the Tree library for ROOT.
Summary: A high level interface to ROOT trees
Requires: %{name}-core%{?_isa} = %{version}-%{release}
Requires: %{name}-hist%{?_isa} = %{version}-%{release}
+Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
%if %{root7}
@@ -1637,7 +1699,6 @@ Javascript and style files for the Jupyter ROOT Notebook.
%package graf-gpadv7
Summary: Canvas and pad library for ROOT (ROOT 7)
Requires: %{name}-core%{?_isa} = %{version}-%{release}
-Requires: %{name}-io%{?_isa} = %{version}-%{release}
%description graf-gpadv7
This package contains a library for canvas and pad manipulations.
@@ -1660,6 +1721,7 @@ Requires: %{name}-gui-webdisplay%{?_isa} = %{version}-%{release}
Requires: %{name}-io%{?_isa} = %{version}-%{release}
Requires: %{name}-mathcore%{?_isa} = %{version}-%{release}
Requires: %{name}-montecarlo-eg%{?_isa} = %{version}-%{release}
+Requires: %{name}-net-http%{?_isa} = %{version}-%{release}
Requires: %{name}-physics%{?_isa} = %{version}-%{release}
Requires: %{name}-tree%{?_isa} = %{version}-%{release}
Requires: %{name}-tree-player%{?_isa} = %{version}-%{release}
@@ -1670,8 +1732,13 @@ This package contains a library for defining event displays in ROOT 7.
%package gui-browserv7
Summary: Browser (ROOT 7)
Requires: %{name}-core%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release}
+Requires: %{name}-graf-gpadv7%{?_isa} = %{version}-%{release}
Requires: %{name}-gui-webdisplay%{?_isa} = %{version}-%{release}
+Requires: %{name}-gui-webgui6%{?_isa} = %{version}-%{release}
+Requires: %{name}-hist%{?_isa} = %{version}-%{release}
Requires: %{name}-io%{?_isa} = %{version}-%{release}
+Requires: %{name}-tree%{?_isa} = %{version}-%{release}
%description gui-browserv7
This package contains a file browser for ROOT 7.
@@ -1732,6 +1799,13 @@ Requires: %{name}-io%{?_isa} = %{version}-%{release}
%description gui-webgui6
This package provides a Web based GUI for ROOT.
+%package histv7
+Summary: Histogram library for ROOT (ROOT 7)
+Requires: %{name}-core%{?_isa} = %{version}-%{release}
+
+%description histv7
+This package contains a library for histogramming in ROOT 7.
+
%package hist-draw
Summary: Histogram drawing (ROOT 7)
Requires: %{name}-core%{?_isa} = %{version}-%{release}
@@ -1773,13 +1847,11 @@ This package contains an ntuple extension for ROOT 7.
%patch18 -p1
%patch19 -p1
%patch20 -p1
+%if %{?rhel}%{!?rhel:0} == 7
+%ifarch ppc64le
%patch21 -p1
-%patch22 -p1
-%patch23 -p1
-%patch24 -p1
-%patch25 -p1
-%patch26 -p1
-%patch27 -p1
+%endif
+%endif
# Remove bundled sources in order to be sure they are not used
# * afterimage
@@ -1790,7 +1862,7 @@ rm -rf graf3d/ftgl/src graf3d/ftgl/inc
rm -rf graf2d/freetype/src
# * glew
rm -rf graf3d/glew/src graf3d/glew/inc graf3d/glew/isystem
-# * davix, lz4, openssl, pcre, xxhash, zlib
+# * davix, lz4, openssl, pcre, xxhash, zlib, zstd
rm -rf builtins
# * lzma
rm -rf core/lzma/src/*.tar.gz
@@ -1902,14 +1974,13 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dbuiltin_xrootd:BOOL=OFF \
-Dbuiltin_xxhash:BOOL=OFF \
-Dbuiltin_zlib:BOOL=OFF \
+ -Dbuiltin_zstd:BOOL=OFF \
-Dalien:BOOL=OFF \
-Darrow:BOOL=OFF \
-Dasimage:BOOL=ON \
- -Dastiff:BOOL=ON \
-Dccache:BOOL=OFF \
-Dcefweb:BOOL=OFF \
-Dclad:BOOL=OFF \
- -Dcling:BOOL=ON \
-Dcocoa:BOOL=OFF \
-Dcuda:BOOL=OFF \
%if %{root7}
@@ -1922,10 +1993,11 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dwebgui:BOOL=OFF \
%endif
-Dcxxmodules:BOOL=OFF \
+ -Ddataframe:BOOL=ON \
-Ddavix:BOOL=ON \
-Ddcache:BOOL=ON \
-Dexceptions:BOOL=ON \
- -Dexplicitlink:BOOL=ON \
+ -Dfcgi:BOOL=ON \
-Dfftw3:BOOL=ON \
-DFIREFOX_EXECUTABLE:PATH=/usr/bin/firefox \
-Dfitsio:BOOL=ON \
@@ -1946,17 +2018,18 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dmemory_termination:BOOL=OFF \
-Dmemstat:BOOL=ON \
-Dminuit2:BOOL=ON \
+ -Dmlp:BOOL=ON \
-Dmonalisa:BOOL=OFF \
+ -Dmpi:BOOL=OFF \
-Dmysql:BOOL=ON \
-Dodbc:BOOL=ON \
-Dopengl:BOOL=ON \
-Doracle:BOOL=OFF \
- -Dpch:BOOL=ON \
-Dpgsql:BOOL=ON \
-Dpythia6:BOOL=OFF \
-Dpythia8:BOOL=ON \
- -Dpython:BOOL=ON \
-DPYTHON_EXECUTABLE:PATH=%{__pythondef} \
+ -Dpyroot:BOOL=ON \
%ifarch %{qt5_qtwebengine_arches}
-Dqt5web:BOOL=ON \
%else
@@ -1970,10 +2043,10 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
-Dshadowpw:BOOL=ON \
-Dshared:BOOL=ON \
-Dsoversion:BOOL=ON \
+ -Dspectrum:BOOL=ON \
-Dsqlite:BOOL=ON \
-Dssl:BOOL=ON \
-Dtcmalloc:BOOL=OFF \
- -Dthread:BOOL=ON \
-Dtmva:BOOL=ON \
%if %{tbb}
-Dtmva-cpu:BOOL=ON \
@@ -2035,7 +2108,9 @@ else
py3l=`pkg-config --libs-only-l python3 | sed -e 's/-l//' -e 's/\s*$//'`
fi
sed -e "s,${py3i},${py2i},g" -e "s,-l${py3l},-l${py2l},g" \
- -e "s,lib${py3l},lib${py2l},g" -e 's,%{__python3},%{__python2},g' \
+ -e "s,lib${py3l},lib${py2l},g" \
+ -e 's,%{__python}%{python3_version},%{__python2},g' \
+ -e 's,%{__python3},%{__python2},g' \
-e 's,lib/libPyROOT,python2/libPyROOT,g' \
-e 's,lib/libJupyROOT,python2/libJupyROOT,g' \
-e 's!bindings/pyroot!bindings/python2!g' \
@@ -2062,7 +2137,9 @@ else
py3l=`pkg-config --libs-only-l python3 | sed -e 's/-l//' -e 's/\s*$//'`
fi
sed -e "s,${py2i},${py3i},g" -e "s,-l${py2l},-l${py3l},g" \
- -e "s,lib${py2l},lib${py3l},g" -e 's,%{__python2},%{__python3},g' \
+ -e "s,lib${py2l},lib${py3l},g" \
+ -e 's,%{__python}%{python2_version},%{__python3},g' \
+ -e 's,%{__python2},%{__python3},g' \
-e 's,lib/libPyROOT,python3/libPyROOT,g' \
-e 's,lib/libJupyROOT,python3/libJupyROOT,g' \
-e 's!bindings/pyroot!bindings/python3!g' \
@@ -2089,7 +2166,9 @@ else
py3l=`pkg-config --libs-only-l python-%{python3_other_version} | sed -e 's/-l//' -e 's/\s*$//'`
fi
sed -e "s,${py2i},${py3i},g" -e "s,-l${py2l},-l${py3l},g" \
- -e "s,lib${py2l},lib${py3l},g" -e 's,%{__python2},%{__python3_other},g' \
+ -e "s,lib${py2l},lib${py3l},g" \
+ -e 's,%{__python}%{python2_version},%{__python3_other},g' \
+ -e 's,%{__python2},%{__python3_other},g' \
-e 's,lib/libPyROOT,python3oth/libPyROOT,g' \
-e 's,lib/libJupyROOT,python3oth/libJupyROOT,g' \
-e 's!bindings/pyroot!bindings/python3oth!g' \
@@ -2135,10 +2214,14 @@ rm %{buildroot}%{_libdir}/%{name}/__pycache__/cmdLineUtils.*
%endif
sed -e '/^\#!/d' -i %{buildroot}%{_datadir}/%{name}/cli/cmdLineUtils.py
-# Move GDB pretty printers to auto load safe path
+# Install GDB pretty printers to auto load safe path
+# These are installed (in libdir) by "make install" if CMAKE_BUILD_TYPE
+# matches Debug or RelWithDebInfo
mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}
-mv %{buildroot}%{_libdir}/%{name}/*-gdb.py \
- %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}
+install -p -m 644 build/gdbPrinters/libCore.so-gdb.py \
+ %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}/libCore.so.%{version}-gdb.py
+install -p -m 644 build/gdbPrinters/libRooFitCore.so-gdb.py \
+ %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}/libRooFitCore.so.%{version}-gdb.py
# Do python byte compilation (for non-standard paths)
%if %{?fedora}%{!?fedora:0} >= 28 || %{?rhel}%{!?rhel:0} >= 8
@@ -2386,10 +2469,6 @@ rm -rf %{buildroot}%{_datadir}/%{name}/proof/utils
rm %{buildroot}%{_datadir}/%{name}/root.desktop
rm %{buildroot}%{_bindir}/setxrd*
rm %{buildroot}%{_bindir}/thisroot*
-rm %{buildroot}%{_mandir}/man1/g2rootold.1
-rm %{buildroot}%{_mandir}/man1/genmap.1
-rm %{buildroot}%{_mandir}/man1/proofserva.1
-rm %{buildroot}%{_mandir}/man1/roota.1
rm %{buildroot}%{_pkgdocdir}/INSTALL
rm %{buildroot}%{_pkgdocdir}/README.ALIEN
rm %{buildroot}%{_pkgdocdir}/README.CXXMODULES.md
@@ -2400,7 +2479,6 @@ rm %{buildroot}%{_datadir}/%{name}/macros/fileopen.C
# Remove plugin definitions for non-built and obsolete plugins
pushd %{buildroot}%{_datadir}/%{name}/plugins
-rm TDataProgressDialog/P010_TDataProgressDialog.C
rm TDataSetManager/P020_TDataSetManagerAliEn.C
rm TFile/P070_TAlienFile.C
rm TGLManager/P020_TGWin32GLManager.C
@@ -2416,8 +2494,6 @@ rm TVirtualGLImp/P020_TGWin32GL.C
rm TVirtualMonitoringWriter/P010_TMonaLisaWriter.C
rm TVirtualX/P030_TGWin32.C
rm TVirtualX/P050_TGQuartz.C
-rm TVirtualX/P060_TWebVirtualX.C
-rmdir TDataProgressDialog
rmdir TGrid
rmdir TVirtualGeoConverter
popd
@@ -2492,7 +2568,6 @@ done
# ... and merge some of them
cat includelist-core-{[^mw],m[^au]}* > includelist-core
cat includelist-geom-geom* > includelist-geom
-cat includelist-roofit-roo* > includelist-roofit
cat includelist-graf2d-x11ttf >> includelist-graf2d-x11
cat includelist-net-netx* > includelist-netx
@@ -2558,6 +2633,23 @@ popd
#
# - tutorial-v7-line.cxx
# requires a web browser (and js-jsroot) to render javascript graphics
+#
+# - gtest-io-io-test-RRawFile (*)
+# - gtest-net-davix-test-RRawFileDavix
+# reads input file over network
+# http://root.cern.ch/files/davix.test
+# (*) one subtest RRawFile.Remote fails, others woud be OK
+#
+# - gtest-tmva-tmva-test-rreader
+# - gtest-tmva-tmva-test-rstandardscaler
+# - tutorial-tmva-tmva003_RReader
+# - tutorial-tmva-tmva004_RStandardScaler
+# reads input data over network
+# http://root.cern.ch/files/tmva_class_example.root
+#
+# - tutorial-tmva-tmva103_Application
+# reads input data over network
+# http://root.cern/files/tmva101.root
excluded="\
test-stressIOPlugins|\
tutorial-dataframe-df101_h1Analysis|\
@@ -2575,11 +2667,17 @@ tutorial-dataframe-df103_NanoAODHiggsAnalysis|\
tutorial-v7-ntuple-ntpl003_lhcbOpenData|\
tutorial-v7-ntuple-ntpl004_dimuon|\
tutorial-pythia-pythia8|\
-tutorial-v7-line.cxx"
+tutorial-v7-line.cxx|\
+gtest-io-io-test-RRawFile|\
+gtest-net-davix-test-RRawFileDavix|\
+gtest-tmva-tmva-test-rreader|\
+gtest-tmva-tmva-test-rstandardscaler|\
+tutorial-tmva-tmva003_RReader|\
+tutorial-tmva-tmva004_RStandardScaler|\
+tutorial-tmva-tmva103_Application"
%ifarch %{ix86} %{arm}
-%if %{?fedora}%{!?fedora:0} >= 30
-# Tests failing on 32 bit architectures on Fedoea 30+ (gcc 9?)
+# Tests failing on 32 bit architectures (dataframe)
# A bit random - not all the tests fail every time...
# - gtest-tree-dataframe-test-dataframe-cache
# - gtest-tree-dataframe-test-dataframe-callbacks
@@ -2590,6 +2688,7 @@ tutorial-v7-line.cxx"
# - gtest-tree-dataframe-test-dataframe-simple
# - gtest-tree-dataframe-test-dataframe-snapshot
# - gtest-tree-dataframe-test-datasource-root
+# - gtest-tree-dataframe-test-datasource-trivial
excluded="${excluded}|\
gtest-tree-dataframe-test-dataframe-cache|\
gtest-tree-dataframe-test-dataframe-callbacks|\
@@ -2599,23 +2698,14 @@ gtest-tree-dataframe-test-dataframe-helpers|\
gtest-tree-dataframe-test-dataframe-interface|\
gtest-tree-dataframe-test-dataframe-simple|\
gtest-tree-dataframe-test-dataframe-snapshot|\
-gtest-tree-dataframe-test-datasource-root"
-%endif
+gtest-tree-dataframe-test-datasource-root|\
+gtest-tree-dataframe-test-datasource-trivial"
%endif
%ifarch %{arm}
# Tests failing on 32 bit arm
# - gtest-tree-tree-test-testBulkApiSillyStruct
-# - tutorial-v7-draw.cxx
-# - tutorial-v7-draw_mt.cxx
-# - tutorial-v7-draw_rh1.cxx
-# - tutorial-v7-draw_subpads.cxx
-excluded="${excluded}|\
-gtest-tree-tree-test-testBulkApiSillyStruct|\
-tutorial-v7-draw.cxx|\
-tutorial-v7-draw_mt.cxx|\
-tutorial-v7-draw_rh1.cxx|\
-tutorial-v7-draw_subpads.cxx"
+excluded="${excluded}|gtest-tree-tree-test-testBulkApiSillyStruct"
%endif
%ifarch ppc64le
@@ -2629,17 +2719,6 @@ excluded="${excluded}|tutorial-roofit-rf608_fitresultaspdf-py"
%endif
%endif
-%if %{?fedora}%{!?fedora:0} >= 32
-# New failures with Fedora 32+ (gcc 10)
-excluded="${excluded}|tutorial-v7-markerStyle.cxx"
-%ifarch %{ix86} ppc64le
-excluded="${excluded}|TMVA-DNN-CNN-Reshape-CPU"
-%endif
-%ifarch ppc64le
-excluded="${excluded}|tutorial-v7-lineStyle.cxx|tutorial-v7-lineWidth.cxx"
-%endif
-%endif
-
make test ARGS="%{?_smp_mflags} --output-on-failure -E \"${excluded}\""
popd
@@ -2896,6 +2975,9 @@ fi
%ldconfig_scriptlets proof-sessionviewer
%ldconfig_scriptlets xproof
%ldconfig_scriptlets roofit
+%ldconfig_scriptlets roofit-core
+%ldconfig_scriptlets roofit-more
+%ldconfig_scriptlets roostats
%ldconfig_scriptlets sql-mysql
%ldconfig_scriptlets sql-odbc
%ldconfig_scriptlets sql-sqlite
@@ -2921,6 +3003,7 @@ fi
%endif
%ldconfig_scriptlets gui-webdisplay
%ldconfig_scriptlets gui-webgui6
+%ldconfig_scriptlets histv7
%ldconfig_scriptlets hist-draw
%ldconfig_scriptlets tree-ntuple
%endif
@@ -2986,9 +3069,6 @@ fi
%{_mandir}/man1/system.rootdaemonrc.1*
%dir %{_datadir}/%{name}/cmake
%{_datadir}/%{name}/cmake/*.cmake
-%dir %{_datadir}/%{name}/cmake/modules
-%{_datadir}/%{name}/cmake/modules/*.cmake
-%{_datadir}/%{name}/cmake/modules/*.cmake.in
%dir %{_datadir}/%{name}/macros
%{_datadir}/%{name}/macros/Dialogs.C
%dir %{_datadir}/%{name}/plugins
@@ -2998,9 +3078,7 @@ fi
%{_includedir}/%{name}/RConfigure.h
%{_includedir}/%{name}/RGitCommit.h
%{_includedir}/%{name}/compiledata.h
-%{_includedir}/%{name}/libc.modulemap
%{_includedir}/%{name}/module.modulemap
-%{_includedir}/%{name}/stl.modulemap
%dir %{_includedir}/%{name}/Math
%dir %{_includedir}/%{name}/ROOT
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
@@ -3052,6 +3130,7 @@ fi
%{python2_sitearch}/ROOT-*.egg-info
%{python2_sitearch}/cppyy.py*
%{python2_sitearch}/_pythonization.py*
+%{python2_sitearch}/_rdf_utils.py*
%endif
%if ! %{py3default}
@@ -3080,6 +3159,7 @@ fi
%{python3_sitearch}/ROOT-*.egg-info
%{python3_sitearch}/cppyy.py
%{python3_sitearch}/_pythonization.py
+%{python3_sitearch}/_rdf_utils.py
%{python3_sitearch}/__pycache__/*
%files -n python%{python3_pkgversion}-jupyroot
@@ -3107,6 +3187,7 @@ fi
%{python3_other_sitearch}/ROOT-*.egg-info
%{python3_other_sitearch}/cppyy.py
%{python3_other_sitearch}/_pythonization.py
+%{python3_other_sitearch}/_rdf_utils.py
%{python3_other_sitearch}/__pycache__/*
%files -n python%{python3_other_pkgversion}-jupyroot
@@ -3475,6 +3556,7 @@ fi
%{_libdir}/%{name}/libRDAVIX_rdict.pcm
%{_datadir}/%{name}/plugins/TFile/P130_TDavixFile.C
%{_datadir}/%{name}/plugins/TSystem/P045_TDavixSystem.C
+%{_datadir}/%{name}/plugins/ROOT@@Internal@(a)RRawFile/P010_RRawFileDavix.C
%files net-http -f includelist-net-http
%{_libdir}/%{name}/libRHTTP.*
@@ -3548,15 +3630,23 @@ fi
%{_datadir}/%{name}/plugins/TProofServ/P010_TXProofServ.C
%{_datadir}/%{name}/plugins/TSlave/P010_TXSlave.C
-%files roofit -f includelist-roofit
+%files roofit -f includelist-roofit-roofit
%{_libdir}/%{name}/libRooFit.*
%{_libdir}/%{name}/libRooFit_rdict.pcm
+
+%files roofit-core -f includelist-roofit-roofitcore
%{_libdir}/%{name}/libRooFitCore.*
%{_libdir}/%{name}/libRooFitCore_rdict.pcm
%{_datadir}/gdb/auto-load%{_libdir}/%{name}/libRooFitCore.*
%if %{?fedora}%{!?fedora:0} >= 28 || %{?rhel}%{!?rhel:0} >= 8
%{_datadir}/gdb/auto-load%{_libdir}/%{name}/__pycache__/libRooFitCore.*
%endif
+
+%files roofit-more -f includelist-roofit-roofitmore
+%{_libdir}/%{name}/libRooFitMore.*
+%{_libdir}/%{name}/libRooFitMore_rdict.pcm
+
+%files roostats -f includelist-roofit-roostats
%{_libdir}/%{name}/libRooStats.*
%{_libdir}/%{name}/libRooStats_rdict.pcm
%dir %{_includedir}/%{name}/RooStats
@@ -3652,7 +3742,7 @@ fi
%{_libdir}/%{name}/libROOTGpadv7.*
%{_libdir}/%{name}/libROOTGpadv7_rdict.pcm
-%files graf-primitives -f includelist-graf2d-primitives
+%files graf-primitives -f includelist-graf2d-primitivesv7
%{_libdir}/%{name}/libROOTGraphicsPrimitives.*
%{_libdir}/%{name}/libROOTGraphicsPrimitives_rdict.pcm
@@ -3686,7 +3776,11 @@ fi
%{_libdir}/%{name}/libWebGui6_rdict.pcm
%{_datadir}/%{name}/plugins/TGuiFactory/P030_TWebGuiFactory.C
-%files hist-draw -f includelist-hist-histdraw
+%files histv7 -f includelist-hist-histv7
+%{_libdir}/%{name}/libROOTHist.*
+%{_libdir}/%{name}/libROOTHist_rdict.pcm
+
+%files hist-draw -f includelist-hist-histdrawv7
%{_libdir}/%{name}/libROOTHistDraw.*
%{_libdir}/%{name}/libROOTHistDraw_rdict.pcm
@@ -3696,6 +3790,28 @@ fi
%endif
%changelog
+* Sun Mar 22 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.20.02-1
+- Update to 6.20.02
+- Drop patches accepted upstream
+ - root-dont-download-input-file-if-it-already-exists.patch
+ - root-fix-plugin-definition.patch
+ - root-man-install.patch
+ - root-pretty-printers.patch
+ - root-python3.patch
+ - root-stress-aarch64-ppc64le.patch
+- Drop patches no longer relevant due to changes to the code
+ - root-missing-include-string.patch
+ - root-static-constexpr.patch
+- Add workaround for PyROOT issues on ppc64le in EPEL 7
+ - root-epel7-ppc64le-pyroot.patch (patch conditionally applied)
+- Fix path to moved data file in tutorial
+ - root-moved-file.patch
+- Split the root-roofit subpackage into four different packages
+ - root-roofit, root-roofit-core, root-roofit-more and root-roostats
+ - The root-roofit-more library splits out the part of roofit that depends on
+ the root-mathmore package
+- New subpackage: root-histv7
+
* Sat Mar 14 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-6
- Build for 32 bit ARM again - gcc-10.0.1-0.9 fixes the problem
diff --git a/sources b/sources
index b86045b..0372c45 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (root-6.18.04.tar.xz) = 9ce3b5e1fa79cc010aa3b20ad3bfd8c4cf8605c17c0fb79991614ae299f3e08f00e76a1847b53f368a7bf006d90c1b5d152d1bf65a32b94f80835a47c60e03e6
+SHA512 (root-6.20.02.tar.xz) = 65f60c52485e72ef405daf10fa08a2d453c7f72f5f3721b97762094713dad1b0f5cb5a37a2a1c30f78bf97c358679f71829bc16833914e6f2ba82e9165521581
SHA512 (root-testfiles.tar.xz) = 7006c6591b587c24cf75dc4f6ed9586165b27102539fdde580d0a95853fcec7e9980a881e49e64a09f90af341a8c8fd2f493305ed88e07af144fabd438ba283e
commit cce2ff465c6ebe5f416eb42212a37fad1a389f46
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sun Mar 15 00:24:13 2020 +0100
Build for 32 bit ARM again - gcc-10.0.1-0.9 fixes the problem
diff --git a/root-32bit-dataframe.patch b/root-32bit-dataframe.patch
index 5a34084..dd71ad6 100644
--- a/root-32bit-dataframe.patch
+++ b/root-32bit-dataframe.patch
@@ -1,6 +1,6 @@
-diff -ur root-6.18.00.orig/bindings/pyroot/ROOT.py root-6.18.00/bindings/pyroot/ROOT.py
---- root-6.18.00.orig/bindings/pyroot/ROOT.py 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/bindings/pyroot/ROOT.py 2019-06-26 15:14:34.684257765 +0200
+diff -ur root-6.18.04.orig/bindings/pyroot/ROOT.py root-6.18.04/bindings/pyroot/ROOT.py
+--- root-6.18.04.orig/bindings/pyroot/ROOT.py 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/ROOT.py 2020-03-13 19:58:32.330575246 +0100
@@ -449,9 +449,7 @@
# This function is injected as method to the respective classes in Pythonize.cxx.
_root._RDataFrameAsNumpy = _RDataFrameAsNumpy
@@ -12,9 +12,9 @@ diff -ur root-6.18.00.orig/bindings/pyroot/ROOT.py root-6.18.00/bindings/pyroot/
### RINT command emulation ------------------------------------------------------
-diff -ur root-6.18.00.orig/bindings/pyroot/test/CMakeLists.txt root-6.18.00/bindings/pyroot/test/CMakeLists.txt
---- root-6.18.00.orig/bindings/pyroot/test/CMakeLists.txt 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/bindings/pyroot/test/CMakeLists.txt 2019-06-26 15:22:03.843577496 +0200
+diff -ur root-6.18.04.orig/bindings/pyroot/test/CMakeLists.txt root-6.18.04/bindings/pyroot/test/CMakeLists.txt
+--- root-6.18.04.orig/bindings/pyroot/test/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/test/CMakeLists.txt 2020-03-13 19:58:32.330575246 +0100
@@ -4,10 +4,7 @@
ROOT_ADD_PYUNITTEST(pyroot_rvec rvec.py)
if(NUMPY_FOUND)
@@ -28,9 +28,9 @@ diff -ur root-6.18.00.orig/bindings/pyroot/test/CMakeLists.txt root-6.18.00/bind
+ ROOT_ADD_PYUNITTEST(pyroot_ttree_asmatrix ttree_asmatrix.py)
endif()
-diff -ur root-6.18.00.orig/build/unix/makepchinput.py root-6.18.00/build/unix/makepchinput.py
---- root-6.18.00.orig/build/unix/makepchinput.py 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/build/unix/makepchinput.py 2019-06-26 15:14:34.760256972 +0200
+diff -ur root-6.18.04.orig/build/unix/makepchinput.py root-6.18.04/build/unix/makepchinput.py
+--- root-6.18.04.orig/build/unix/makepchinput.py 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/build/unix/makepchinput.py 2020-03-13 19:58:32.331575236 +0100
@@ -263,9 +263,6 @@
"math/vdt",
"tmva/rmva"]
@@ -41,27 +41,10 @@ diff -ur root-6.18.00.orig/build/unix/makepchinput.py root-6.18.00/build/unix/ma
accepted = isAnyPatternInString(PCHPatternsWhitelist,dirName) and \
not isAnyPatternInString(PCHPatternsBlacklist,dirName)
-diff -ur root-6.18.00.orig/cmake/scripts/ROOTConfig.cmake.in root-6.18.00/cmake/scripts/ROOTConfig.cmake.in
---- root-6.18.00.orig/cmake/scripts/ROOTConfig.cmake.in 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/cmake/scripts/ROOTConfig.cmake.in 2019-06-26 15:14:34.768256889 +0200
-@@ -83,7 +83,7 @@
- set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
- set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".dll")
- endif()
--foreach(_cpt Core Imt RIO Net Hist Graf Graf3d Gpad ROOTDataFrame Tree TreePlayer Rint Postscript Matrix Physics MathCore Thread MultiProc ${ROOT_FIND_COMPONENTS})
-+foreach(_cpt Core Imt RIO Net Hist Graf Graf3d Gpad ROOTDataFrame ROOTVecOps Tree TreePlayer Rint Postscript Matrix Physics MathCore Thread MultiProc ${ROOT_FIND_COMPONENTS})
- find_library(ROOT_${_cpt}_LIBRARY ${_cpt} HINTS ${ROOT_LIBRARY_DIR})
- if(ROOT_${_cpt}_LIBRARY)
- mark_as_advanced(ROOT_${_cpt}_LIBRARY)
-diff -ur root-6.18.00.orig/config/root-config.in root-6.18.00/config/root-config.in
---- root-6.18.00.orig/config/root-config.in 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/config/root-config.in 2019-06-26 15:41:39.518330743 +0200
-@@ -72,15 +72,10 @@
- newlib="-lNew"
- rootglibs="-lGui"
- rootevelibs="-lEve -lEG -lGeom -lGed -lRGL"
--rootlibs="-lCore -lImt -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lROOTVecOps -lTree -lTreePlayer\
-+rootlibs="-lCore -lImt -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lROOTDataFrame -lROOTVecOps -lTree -lTreePlayer\
+diff -ur root-6.18.04.orig/config/root-config.in root-6.18.04/config/root-config.in
+--- root-6.18.04.orig/config/root-config.in 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/config/root-config.in 2020-03-13 20:06:39.876361426 +0100
+@@ -76,10 +76,7 @@
-lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread\
-lMultiProc"
@@ -69,13 +52,13 @@ diff -ur root-6.18.00.orig/config/root-config.in root-6.18.00/config/root-config
- rootlibs="$rootlibs -lROOTDataFrame"
-fi
-
--
++rootlibs="$rootlibs -lROOTDataFrame"
+
if test "$platform" = "win32"; then
rootulibs="-include:_G__cpp_setupG__Net \
- -include:_G__cpp_setupG__IO \
-diff -ur root-6.18.00.orig/tree/dataframe/CMakeLists.txt root-6.18.00/tree/dataframe/CMakeLists.txt
---- root-6.18.00.orig/tree/dataframe/CMakeLists.txt 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/tree/dataframe/CMakeLists.txt 2019-06-26 15:14:34.827256273 +0200
+diff -ur root-6.18.04.orig/tree/dataframe/CMakeLists.txt root-6.18.04/tree/dataframe/CMakeLists.txt
+--- root-6.18.04.orig/tree/dataframe/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/tree/dataframe/CMakeLists.txt 2020-03-13 19:58:32.332575225 +0100
@@ -3,11 +3,6 @@
# @author Danilo Piparo CERN, Pere Mato CERN
############################################################################
@@ -88,9 +71,99 @@ diff -ur root-6.18.00.orig/tree/dataframe/CMakeLists.txt root-6.18.00/tree/dataf
if(arrow)
list(APPEND RDATAFRAME_EXTRA_HEADERS ROOT/RArrowDS.hxx)
list(APPEND RDATAFRAME_EXTRA_INCLUDES -I${ARROW_INCLUDE_DIR})
-diff -ur root-6.18.00.orig/tutorials/CMakeLists.txt root-6.18.00/tutorials/CMakeLists.txt
---- root-6.18.00.orig/tutorials/CMakeLists.txt 2019-06-25 10:52:11.000000000 +0200
-+++ root-6.18.00/tutorials/CMakeLists.txt 2019-06-26 15:18:15.834951333 +0200
+diff -ur root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx root-6.18.04/tree/dataframe/test/dataframe_cache.cxx
+--- root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/tree/dataframe/test/dataframe_cache.cxx 2020-03-13 20:13:04.021253192 +0100
+@@ -224,8 +224,6 @@
+
+ }
+
+-#ifdef R__B64
+-
+ TEST(Cache, Regex)
+ {
+
+@@ -334,5 +332,3 @@
+
+ gSystem->Unlink(fileName);
+ }
+-
+-#endif // R__B64
+diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx root-6.18.04/tree/dataframe/test/datasource_arrow.cxx
+--- root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/tree/dataframe/test/datasource_arrow.cxx 2020-03-13 20:13:04.021253192 +0100
+@@ -163,8 +163,6 @@
+ }
+ #endif
+
+-#ifdef R__B64
+-
+ TEST(RArrowDS, FromARDF)
+ {
+ std::unique_ptr<RDataSource> tds(new RArrowDS(createTestTable(), {}));
+@@ -236,5 +234,3 @@
+ }
+
+ #endif // R__USE_IMT
+-
+-#endif // R__B64
+diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx root-6.18.04/tree/dataframe/test/datasource_csv.cxx
+--- root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/tree/dataframe/test/datasource_csv.cxx 2020-03-13 20:26:14.841831219 +0100
+@@ -193,8 +193,6 @@
+ }
+ #endif
+
+-#ifdef R__B64
+-
+ TEST(RCsvDS, FromARDF)
+ {
+ std::unique_ptr<RDataSource> tds(new RCsvDS(fileName0));
+@@ -290,5 +288,3 @@
+ }
+
+ #endif // R__USE_IMT
+-
+-#endif // R__B64
+diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx root-6.18.04/tree/dataframe/test/datasource_root.cxx
+--- root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/tree/dataframe/test/datasource_root.cxx 2020-03-13 20:13:04.021253192 +0100
+@@ -117,8 +117,6 @@
+ }
+ #endif
+
+-#ifdef R__B64
+-
+ TEST(TRootTDS, FromARDF)
+ {
+ std::unique_ptr<RDataSource> tds(new RRootDS(treeName, fileGlob));
+@@ -190,5 +188,3 @@
+ }
+
+ #endif // R__USE_IMT
+-
+-#endif // R__B64
+diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx root-6.18.04/tree/dataframe/test/datasource_trivial.cxx
+--- root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/tree/dataframe/test/datasource_trivial.cxx 2020-03-13 20:13:04.021253192 +0100
+@@ -132,8 +132,6 @@
+ EXPECT_EQ(*tdfAll.Count(), 20ULL);
+ }
+
+-#ifdef R__B64
+-
+ TEST(RTrivialDS, FromARDFWithJitting)
+ {
+ std::unique_ptr<RDataSource> tds(new RTrivialDS(32));
+@@ -236,5 +234,3 @@
+ }
+
+ #endif // R__USE_IMT
+-
+-#endif // R__B64
+diff -ur root-6.18.04.orig/tutorials/CMakeLists.txt root-6.18.04/tutorials/CMakeLists.txt
+--- root-6.18.04.orig/tutorials/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/tutorials/CMakeLists.txt 2020-03-13 19:58:32.333575214 +0100
@@ -212,10 +212,6 @@
v7/ntuple/ntpl004_dimuon.C)
endif()
diff --git a/root-32bit-tests.patch b/root-32bit-tests.patch
new file mode 100644
index 0000000..ea926b4
--- /dev/null
+++ b/root-32bit-tests.patch
@@ -0,0 +1,53 @@
+From 70d941cd6ebbc3726e08ef7f52d0135453f0b840 Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Fri, 13 Mar 2020 16:21:55 +0100
+Subject: [PATCH 2/3] Run tests on 32 bit
+
+---
+ test/stressGeometry.cxx | 8 --------
+ tree/tree/test/CMakeLists.txt | 10 +++-------
+ 2 files changed, 3 insertions(+), 15 deletions(-)
+
+diff --git a/test/stressGeometry.cxx b/test/stressGeometry.cxx
+index 5e81f5f2ca..18e41a6f45 100644
+--- a/test/stressGeometry.cxx
++++ b/test/stressGeometry.cxx
+@@ -257,14 +257,6 @@ void stressGeometry(const char *exp="*", Bool_t generate_ref=kFALSE, Bool_t vecg
+ if (opt.Contains(exps[i])) iexp[i] = 1;
+ else iexp[i] = 0;
+ }
+-#if defined(linux) && !defined(__x86_64__)
+- // 32bit linux: we have an error with ATLAS, see https://sft.its.cern.ch/jira/browse/ROOT-9893
+- // Disable unless explicitly enabled.
+- if (all) {
+- printf("DISABLED ATLAS TEST due to known failure on Linux 32 bit!\n");
+- iexp[32] = 0;
+- }
+-#endif
+ TFile::SetCacheFileDir(".");
+ TString fname;
+ for (i=0; i<NG; i++) {
+diff --git a/tree/tree/test/CMakeLists.txt b/tree/tree/test/CMakeLists.txt
+index 0c1a39d01e..3bafe47934 100644
+--- a/tree/tree/test/CMakeLists.txt
++++ b/tree/tree/test/CMakeLists.txt
+@@ -12,13 +12,9 @@ ROOT_ADD_GTEST(testTOffsetGeneration TOffsetGeneration.cxx ElementStruct.cxx Ele
+ target_include_directories(testTOffsetGeneration PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
+ ROOT_STANDARD_LIBRARY_PACKAGE(SillyStruct NO_INSTALL_HEADERS HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/SillyStruct.h SOURCES SillyStruct.cxx LINKDEF SillyStructLinkDef.h DEPENDENCIES RIO)
+ ROOT_ADD_GTEST(testBulkApi BulkApi.cxx LIBRARIES RIO Tree TreePlayer)
+-#FIXME: tests are having timeout on 32bit CERN VM (in docker container everything is fine),
+-# to be reverted after investigation.
+-if(NOT CMAKE_SIZEOF_VOID_P EQUAL 4)
+- ROOT_ADD_GTEST(testBulkApiMultiple BulkApiMultiple.cxx LIBRARIES RIO Tree TreePlayer)
+- ROOT_ADD_GTEST(testBulkApiVarLength BulkApiVarLength.cxx LIBRARIES RIO Tree TreePlayer)
+- ROOT_ADD_GTEST(testBulkApiSillyStruct BulkApiSillyStruct.cxx LIBRARIES RIO Tree TreePlayer SillyStruct)
+-endif()
++ROOT_ADD_GTEST(testBulkApiMultiple BulkApiMultiple.cxx LIBRARIES RIO Tree TreePlayer)
++ROOT_ADD_GTEST(testBulkApiVarLength BulkApiVarLength.cxx LIBRARIES RIO Tree TreePlayer)
++ROOT_ADD_GTEST(testBulkApiSillyStruct BulkApiSillyStruct.cxx LIBRARIES RIO Tree TreePlayer SillyStruct)
+ ROOT_ADD_GTEST(testTBasket TBasket.cxx LIBRARIES RIO Tree)
+ ROOT_ADD_GTEST(testTBranch TBranch.cxx LIBRARIES RIO Tree MathCore)
+ ROOT_ADD_GTEST(testTIOFeatures TIOFeatures.cxx LIBRARIES RIO Tree)
+--
+2.24.1
+
diff --git a/root-FitData-assert-fix.patch b/root-FitData-assert-fix.patch
new file mode 100644
index 0000000..8e9ba00
--- /dev/null
+++ b/root-FitData-assert-fix.patch
@@ -0,0 +1,28 @@
+From 07c5d640dd53c83c8b3350b520170fd9a5526495 Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Fri, 13 Mar 2020 14:09:07 +0100
+Subject: [PATCH] Correct broken assert statements
+
+---
+ math/mathcore/src/FitData.cxx | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/math/mathcore/src/FitData.cxx b/math/mathcore/src/FitData.cxx
+index a2be20ab0d..0bad8ff7cd 100644
+--- a/math/mathcore/src/FitData.cxx
++++ b/math/mathcore/src/FitData.cxx
+@@ -200,9 +200,9 @@ namespace ROOT {
+ /// dummy virtual destructor
+ FitData::~FitData()
+ {
++ assert(fWrapped == fCoords.empty());
+ for (unsigned int i = 0; i < fDim; i++) {
+- assert(fWrapped == fCoords.empty());
+- assert(fCoords.empty() || &fCoords[i].front() == fCoordsPtr[i]);
++ assert(fWrapped || fCoords[i].empty() || &fCoords[i].front() == fCoordsPtr[i]);
+ }
+ if (fpTmpCoordVector) delete[] fpTmpCoordVector;
+
+--
+2.24.1
+
diff --git a/root-clang-altivec-vector.patch b/root-clang-altivec-vector.patch
index 23202bd..4648ccc 100644
--- a/root-clang-altivec-vector.patch
+++ b/root-clang-altivec-vector.patch
@@ -1,7 +1,19 @@
-diff -ur root-6.18.04.orig/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp root-6.18.04/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp
---- root-6.18.04.orig/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp 2019-09-11 15:36:49.000000000 +0200
-+++ root-6.18.04/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp 2020-02-06 14:36:14.580497452 +0100
-@@ -2373,7 +2373,7 @@
+From f0e7ee696e416f5cb42619889fcbff7db64f17e1 Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Fri, 13 Mar 2020 17:09:03 +0100
+Subject: [PATCH] Fix ppc64le compilation with gcc 10
+
+Backported from llvm upstream
+https://reviews.llvm.org/D74129
+---
+ interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp b/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp
+index dbe6b4db94..2096ba6982 100644
+--- a/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp
++++ b/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp
+@@ -2373,7 +2373,7 @@ bool Lexer::SkipBlockComment(Token &Result, const char *CurPtr,
'/', '/', '/', '/', '/', '/', '/', '/'
};
while (CurPtr+16 <= BufferEnd &&
@@ -10,3 +22,6 @@ diff -ur root-6.18.04.orig/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp ro
CurPtr += 16;
#else
// Scan for '/' quickly. Many block comments are very large.
+--
+2.24.1
+
diff --git a/root-format-fix.patch b/root-format-fix.patch
new file mode 100644
index 0000000..9d7f4e2
--- /dev/null
+++ b/root-format-fix.patch
@@ -0,0 +1,28 @@
+From 1d4aaf9e503669ccb0275f3f9b8a87a486671334 Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Fri, 13 Mar 2020 14:34:48 +0100
+Subject: [PATCH] Size types should use %z
+
+---
+ tree/dataframe/src/RCsvDS.cxx | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tree/dataframe/src/RCsvDS.cxx b/tree/dataframe/src/RCsvDS.cxx
+index 81f802285b..fc0a18e21f 100644
+--- a/tree/dataframe/src/RCsvDS.cxx
++++ b/tree/dataframe/src/RCsvDS.cxx
+@@ -368,9 +368,9 @@ std::vector<std::pair<ULong64_t, ULong64_t>> RCsvDS::GetEntryRanges()
+
+ if (gDebug > 0) {
+ if (fLinesChunkSize == -1LL) {
+- Info("GetEntryRanges", "Attempted to read entire CSV file into memory, %lu lines read", fRecords.size());
++ Info("GetEntryRanges", "Attempted to read entire CSV file into memory, %zu lines read", fRecords.size());
+ } else {
+- Info("GetEntryRanges", "Attempted to read chunk of %lld lines of CSV file into memory, %lu lines read", fLinesChunkSize, fRecords.size());
++ Info("GetEntryRanges", "Attempted to read chunk of %lld lines of CSV file into memory, %zu lines read", fLinesChunkSize, fRecords.size());
+ }
+ }
+
+--
+2.24.1
+
diff --git a/root-python3.8-object.patch b/root-python3.8-object.patch
new file mode 100644
index 0000000..ed4ef9f
--- /dev/null
+++ b/root-python3.8-object.patch
@@ -0,0 +1,539 @@
+diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bindings/pyroot/src/MethodProxy.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/MethodProxy.cxx 2020-03-13 16:46:56.538971601 +0100
+@@ -839,7 +839,8 @@
+ sizeof(MethodProxy), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)mp_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -888,6 +889,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace PyROOT
+diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bindings/pyroot/src/ObjectProxy.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/ObjectProxy.cxx 2020-03-13 16:46:56.539971591 +0100
+@@ -397,7 +397,8 @@
+ sizeof(ObjectProxy), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)op_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -449,6 +450,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace PyROOT
+diff -ur root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.18.04/bindings/pyroot/src/PropertyProxy.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/PropertyProxy.cxx 2020-03-13 16:46:56.539971591 +0100
+@@ -133,7 +133,8 @@
+ sizeof(PropertyProxy), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)pp_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -182,6 +183,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace PyROOT
+diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindings/pyroot/src/PyRootType.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/PyRootType.cxx 2020-03-13 16:46:56.539971591 +0100
+@@ -230,7 +230,8 @@
+ sizeof(PyROOT::PyRootClass),// tp_basicsize
+ 0, // tp_itemsize
+ 0, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -279,6 +280,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace PyROOT
+diff -ur root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx root-6.18.04/bindings/pyroot/src/Pythonize.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/Pythonize.cxx 2020-03-13 16:46:56.540971580 +0100
+@@ -944,6 +944,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ static PyObject* vector_iter( PyObject* v ) {
+diff -ur root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx root-6.18.04/bindings/pyroot/src/RootModule.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/RootModule.cxx 2020-03-13 16:46:56.540971580 +0100
+@@ -134,6 +134,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ PyObject _PyROOT_NullPtrStruct = {
+diff -ur root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.18.04/bindings/pyroot/src/TCustomPyTypes.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-13 16:46:56.540971580 +0100
+@@ -19,7 +19,8 @@
+ 0, // tp_basicsize
+ 0, // tp_itemsize
+ 0, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -69,6 +70,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ //= long type allowed for reference passing ==================================
+@@ -78,7 +85,8 @@
+ 0, // tp_basicsize
+ 0, // tp_itemsize
+ 0, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -128,6 +136,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ //= instancemethod object with a more efficient call function ================
+@@ -277,7 +291,8 @@
+ 0, // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)im_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -327,6 +342,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace PyROOT
+diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bindings/pyroot/src/TemplateProxy.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/TemplateProxy.cxx 2020-03-13 16:46:56.541971570 +0100
+@@ -395,7 +395,8 @@
+ sizeof(TemplateProxy), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)tpp_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -444,6 +445,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace PyROOT
+diff -ur root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.18.04/bindings/pyroot/src/TTupleOfInstances.cxx
+--- root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-13 16:46:56.540971580 +0100
+@@ -42,7 +42,8 @@
+ 0, // tp_basicsize
+ 0, // tp_itemsize
+ 0, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -92,6 +93,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace PyROOT
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-13 16:47:15.029777701 +0100
+@@ -168,7 +168,8 @@
+ sizeof(CPPDataMember), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)pp_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -217,6 +218,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-13 16:47:15.029777701 +0100
+@@ -385,7 +385,8 @@
+ sizeof(CPPInstance), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)op_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -437,6 +438,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-13 16:47:15.030777691 +0100
+@@ -813,7 +813,8 @@
+ sizeof(CPPOverload), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)mp_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -862,6 +863,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-13 16:47:15.030777691 +0100
+@@ -424,7 +424,8 @@
+ sizeof(CPyCppyy::CPPScope), // tp_basicsize
+ 0, // tp_itemsize
+ 0, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -473,6 +474,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-13 16:47:15.030777691 +0100
+@@ -140,6 +140,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ namespace {
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-13 16:57:57.529034828 +0100
+@@ -32,6 +32,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ //= long type allowed for reference passing ==================================
+@@ -54,6 +60,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ //= instancemethod object with a more efficient call function ================
+@@ -219,6 +231,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+
+@@ -269,6 +287,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+
+@@ -320,6 +344,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-13 16:47:15.031777680 +0100
+@@ -657,7 +657,8 @@
+ sizeof(CPyCppyy::LowLevelView),// tp_basicsize
+ 0, // tp_itemsize
+ (destructor)ll_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -707,6 +708,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-13 16:47:15.032777670 +0100
+@@ -515,7 +515,8 @@
+ sizeof(TemplateProxy), // tp_basicsize
+ 0, // tp_itemsize
+ (destructor)tpp_dealloc, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -564,6 +565,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
+diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx
+--- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-13 16:47:15.032777670 +0100
+@@ -79,6 +79,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+
+@@ -152,7 +158,8 @@
+ 0, // tp_basicsize
+ 0, // tp_itemsize
+ 0, // tp_dealloc
+- 0, // tp_print
++ 0, // tp_print (python < 3.8)
++ // tp_vectorcall_offset (python >= 3.8)
+ 0, // tp_getattr
+ 0, // tp_setattr
+ 0, // tp_compare
+@@ -202,6 +209,12 @@
+ #if PY_VERSION_HEX >= 0x03040000
+ , 0 // tp_finalize
+ #endif
++#if PY_VERSION_HEX >= 0x03080000
++ , 0 // tp_vectorcall
++#if PY_VERSION_HEX < 0x03090000
++ , 0 // tp_print (python 3.8 only)
++#endif
++#endif
+ };
+
+ } // namespace CPyCppyy
diff --git a/root-tutorials-unique-filenames.patch b/root-tutorials-unique-filenames.patch
new file mode 100644
index 0000000..dee82fb
--- /dev/null
+++ b/root-tutorials-unique-filenames.patch
@@ -0,0 +1,22 @@
+diff --git a/tutorials/multicore/mtbb101_fillNtuples.C b/tutorials/multicore/mtbb101_fillNtuples.C
+index 80c19ce626..d7a9dbbdaa 100644
+--- a/tutorials/multicore/mtbb101_fillNtuples.C
++++ b/tutorials/multicore/mtbb101_fillNtuples.C
+@@ -40,7 +40,7 @@ Int_t mtbb101_fillNtuples()
+
+ // Create a random generator and and Ntuple to hold the numbers
+ TRandom3 rndm(1);
+- TFile ofile("mp101_singleCore.root", "RECREATE");
++ TFile ofile("mtbb101_singleCore.root", "RECREATE");
+ TNtuple randomNumbers("singleCore", "Random Numbers", "r");
+ fillRandom(randomNumbers, rndm, nNumbers);
+ randomNumbers.Write();
+@@ -52,7 +52,7 @@ Int_t mtbb101_fillNtuples()
+ auto workItem = [](UInt_t workerID) {
+ // One generator, file and ntuple per worker
+ TRandom3 workerRndm(workerID); // Change the seed
+- TFile ofile(Form("mp101_multiCore_%u.root", workerID), "RECREATE");
++ TFile ofile(Form("mtbb101_multiCore_%u.root", workerID), "RECREATE");
+ TNtuple workerRandomNumbers("multiCore", "Random Numbers", "r");
+ fillRandom(workerRandomNumbers, workerRndm, workSize);
+ workerRandomNumbers.Write();
diff --git a/root-xmlmodify-dep.patch b/root-xmlmodify-dep.patch
new file mode 100644
index 0000000..02a0498
--- /dev/null
+++ b/root-xmlmodify-dep.patch
@@ -0,0 +1,25 @@
+From a651fb9278438d5ad7e4ddbf6082a791e1187e0d Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Fri, 13 Mar 2020 12:58:14 +0100
+Subject: [PATCH] The test that creates the file must run before the test that
+ modifies it
+
+---
+ tutorials/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tutorials/CMakeLists.txt b/tutorials/CMakeLists.txt
+index f920da54ee..b1abd03d36 100644
+--- a/tutorials/CMakeLists.txt
++++ b/tutorials/CMakeLists.txt
+@@ -375,6 +375,7 @@ set(unfold-testUnfold5b-depends tutorial-unfold-testUnfold5a)
+ set(unfold-testUnfold7d-depends tutorial-unfold-testUnfold7c)
+ set(unfold-testUnfold7c-depends tutorial-unfold-testUnfold7b)
+ set(unfold-testUnfold7b-depends tutorial-unfold-testUnfold7a)
++set(xml-xmlmodifyfile-depends tutorial-xml-xmlnewfile)
+ set(xml-xmlreadfile-depends tutorial-xml-xmlnewfile)
+ set(roofit-rf503_wspaceread-depends tutorial-roofit-rf502_wspacewrite)
+ set(histfactory-example-depends tutorial-roostats-CreateExampleFile)
+--
+2.24.1
+
diff --git a/root.spec b/root.spec
index e7223a2..02e7bb6 100644
--- a/root.spec
+++ b/root.spec
@@ -46,12 +46,12 @@
# Do not generate autoprovides for libJupyROOT.so
# Note: the ones from libPyROOT.so we do want though
-%global __provides_exclude_from ^(%{python2_sitearch}|%{python3_sitearch}%{?python3_other_sitearch:|%{python3_other_sitearch}})/libJupyROOT\\.so$
+%global __provides_exclude_from ^(%{?python2_sitearch:%{python2_sitearch}|}%{python3_sitearch}%{?python3_other_sitearch:|%{python3_other_sitearch}})/libJupyROOT\\.so$
Name: root
Version: 6.18.04
%global libversion %(cut -d. -f 1-2 <<< %{version})
-Release: 5%{?dist}
+Release: 6%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@@ -124,20 +124,35 @@ Patch18: %{name}-pretty-printers.patch
# Missing include - fails with gcc 10
Patch19: %{name}-missing-include-string.patch
# Fix ppc64le build with gcc 10
+# https://github.com/root-project/root/pull/5157
Patch20: %{name}-clang-altivec-vector.patch
# Missing symbol - with gcc 10
Patch21: %{name}-static-constexpr.patch
+# Fix -Wmissing-field-initializers in python bindings for
+# Python 3.8 and 3.9
+# https://github.com/root-project/root/pull/5158
+Patch22: %{name}-python3.8-object.patch
+# Correct broken assert statements
+# https://github.com/root-project/root/pull/5159
+Patch23: %{name}-FitData-assert-fix.patch
+# The test that creates the file must run before the test that
+# modifies it
+# https://github.com/root-project/root/pull/5160
+Patch24: %{name}-xmlmodify-dep.patch
+# Use unique filenames in tutorials so they can be run in
+# parallel
+# Backport from upstream's git
+Patch25: %{name}-tutorials-unique-filenames.patch
+# Size types should use %z
+# https://github.com/root-project/root/pull/5161
+Patch26: %{name}-format-fix.patch
+# Run some test on 32 bit that upstream has disabled
+Patch27: %{name}-32bit-tests.patch
# s390x suffers from endian issues resulting in failing tests
# and broken documentation generation
# https://sft.its.cern.ch/jira/browse/ROOT-8703
ExcludeArch: s390x
-%if %{?fedora}%{!?fedora:0} >= 32
-# The rootcling_stage1 binary segfaults on 32-bit arm when
-# compiled with gcc 10 - exclude the architecture for now,
-# bug #1811604
-ExcludeArch: %{arm}
-%endif
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
BuildRequires: cmake >= 3.4.3
@@ -1759,6 +1774,12 @@ This package contains an ntuple extension for ROOT 7.
%patch19 -p1
%patch20 -p1
%patch21 -p1
+%patch22 -p1
+%patch23 -p1
+%patch24 -p1
+%patch25 -p1
+%patch26 -p1
+%patch27 -p1
# Remove bundled sources in order to be sure they are not used
# * afterimage
@@ -1769,7 +1790,7 @@ rm -rf graf3d/ftgl/src graf3d/ftgl/inc
rm -rf graf2d/freetype/src
# * glew
rm -rf graf3d/glew/src graf3d/glew/inc graf3d/glew/isystem
-# * lz4, pcre, xxhash, zlib
+# * davix, lz4, openssl, pcre, xxhash, zlib
rm -rf builtins
# * lzma
rm -rf core/lzma/src/*.tar.gz
@@ -1788,9 +1809,10 @@ sed /mathjax.tar.gz/d -i documentation/doxygen/Makefile
# * string_view (<experimental/string_view> requires c++-14)
rm core/foundation/inc/ROOT/libcpp_string_view.h \
core/foundation/inc/ROOT/RWrap_libcpp_string_view.h
+sed /RWrap_libcpp_string_view.h/d -i build/unix/module.modulemap
%endif
# * jsroot
-rm -rf etc/js/*
+rm -rf js/*
# Fix file permissions
chmod -x interpreter/llvm/src/lib/Target/X86/X86EvexToVex.cpp
@@ -2401,7 +2423,7 @@ rmdir TVirtualGeoConverter
popd
# Replace bundled jsroot with symlink to system version
-rm -rf %{buildroot}%{_datadir}/%{name}/js
+rmdir %{buildroot}%{_datadir}/%{name}/js
ln -s /usr/share/javascript/jsroot %{buildroot}%{_datadir}/%{name}/js
# Create ldconfig configuration
@@ -2564,26 +2586,32 @@ tutorial-v7-line.cxx"
# - gtest-tree-dataframe-test-dataframe-colnames
# - gtest-tree-dataframe-test-dataframe-friends
# - gtest-tree-dataframe-test-dataframe-helpers
+# - gtest-tree-dataframe-test-dataframe-interface
# - gtest-tree-dataframe-test-dataframe-simple
# - gtest-tree-dataframe-test-dataframe-snapshot
+# - gtest-tree-dataframe-test-datasource-root
excluded="${excluded}|\
gtest-tree-dataframe-test-dataframe-cache|\
gtest-tree-dataframe-test-dataframe-callbacks|\
gtest-tree-dataframe-test-dataframe-colnames|\
gtest-tree-dataframe-test-dataframe-friends|\
gtest-tree-dataframe-test-dataframe-helpers|\
+gtest-tree-dataframe-test-dataframe-interface|\
gtest-tree-dataframe-test-dataframe-simple|\
-gtest-tree-dataframe-test-dataframe-snapshot"
+gtest-tree-dataframe-test-dataframe-snapshot|\
+gtest-tree-dataframe-test-datasource-root"
%endif
%endif
%ifarch %{arm}
# Tests failing on 32 bit arm
+# - gtest-tree-tree-test-testBulkApiSillyStruct
# - tutorial-v7-draw.cxx
# - tutorial-v7-draw_mt.cxx
# - tutorial-v7-draw_rh1.cxx
# - tutorial-v7-draw_subpads.cxx
excluded="${excluded}|\
+gtest-tree-tree-test-testBulkApiSillyStruct|\
tutorial-v7-draw.cxx|\
tutorial-v7-draw_mt.cxx|\
tutorial-v7-draw_rh1.cxx|\
@@ -2604,22 +2632,11 @@ excluded="${excluded}|tutorial-roofit-rf608_fitresultaspdf-py"
%if %{?fedora}%{!?fedora:0} >= 32
# New failures with Fedora 32+ (gcc 10)
excluded="${excluded}|tutorial-v7-markerStyle.cxx"
-%ifarch %{ix86}
-excluded="${excluded}|\
-TMVA-DNN-CNN-Reshape-CPU|\
-gtest-tree-dataframe-test-dataframe-interface"
+%ifarch %{ix86} ppc64le
+excluded="${excluded}|TMVA-DNN-CNN-Reshape-CPU"
%endif
%ifarch ppc64le
-excluded="${excluded}|\
-TMVA-DNN-CNN-Reshape-CPU|\
-tutorial-v7-lineStyle.cxx|\
-tutorial-v7-lineWidth.cxx"
-%endif
-%endif
-
-%if %{?fedora}%{!?fedora:0} >= 33
-%ifarch aarch64
-excluded="${excluded}|tutorial-tmva-TMVARegression"
+excluded="${excluded}|tutorial-v7-lineStyle.cxx|tutorial-v7-lineWidth.cxx"
%endif
%endif
@@ -3679,6 +3696,9 @@ fi
%endif
%changelog
+* Sat Mar 14 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-6
+- Build for 32 bit ARM again - gcc-10.0.1-0.9 fixes the problem
+
* Sat Feb 22 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-5
- Fixes and workarounds for gcc 10
- ExcludeArch for 32 bit ARM because rootcling_stage1 segfaults (bug #1811604)
commit 9efe68edd415287672edac13845cfb57446afff0
Author: Petr Psa <ppisar(a)redhat.com>
Date: Mon Mar 9 11:34:00 2020 +0100
Link to a bug report for the exclusion on 32-bit ARM
diff --git a/root.spec b/root.spec
index 21f5387..e7223a2 100644
--- a/root.spec
+++ b/root.spec
@@ -134,7 +134,8 @@ Patch21: %{name}-static-constexpr.patch
ExcludeArch: s390x
%if %{?fedora}%{!?fedora:0} >= 32
# The rootcling_stage1 binary segfaults on 32-bit arm when
-# compiled with gcc 10 - exclude the architecture for now
+# compiled with gcc 10 - exclude the architecture for now,
+# bug #1811604
ExcludeArch: %{arm}
%endif
@@ -3680,7 +3681,7 @@ fi
%changelog
* Sat Feb 22 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-5
- Fixes and workarounds for gcc 10
-- ExcludeArch for 32 bit ARM because rootcling_stage1 segfaults
+- ExcludeArch for 32 bit ARM because rootcling_stage1 segfaults (bug #1811604)
* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.18.04-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
commit baedd3ac92b83e79769aa3f8bd50c9330a66f7b1
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sat Feb 22 14:31:21 2020 +0100
Fixes and workarounds for gcc 10
ExcludeArch for 32 bit ARM because rootcling_stage1 segfaults
diff --git a/root-clang-altivec-vector.patch b/root-clang-altivec-vector.patch
new file mode 100644
index 0000000..23202bd
--- /dev/null
+++ b/root-clang-altivec-vector.patch
@@ -0,0 +1,12 @@
+diff -ur root-6.18.04.orig/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp root-6.18.04/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp
+--- root-6.18.04.orig/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp 2020-02-06 14:36:14.580497452 +0100
+@@ -2373,7 +2373,7 @@
+ '/', '/', '/', '/', '/', '/', '/', '/'
+ };
+ while (CurPtr+16 <= BufferEnd &&
+- !vec_any_eq(*(const vector unsigned char*)CurPtr, Slashes))
++ !vec_any_eq(*(const __vector unsigned char*)CurPtr, Slashes))
+ CurPtr += 16;
+ #else
+ // Scan for '/' quickly. Many block comments are very large.
diff --git a/root-missing-include-string.patch b/root-missing-include-string.patch
new file mode 100644
index 0000000..f870e14
--- /dev/null
+++ b/root-missing-include-string.patch
@@ -0,0 +1,11 @@
+diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx
+--- root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2020-01-23 11:27:58.637463837 +0100
+@@ -17,6 +17,7 @@
+ #define ROOT7_RColor
+
+ #include <array>
++#include <string>
+ #include <vector>
+
+ namespace ROOT {
diff --git a/root-static-constexpr.patch b/root-static-constexpr.patch
new file mode 100644
index 0000000..c04ba6f
--- /dev/null
+++ b/root-static-constexpr.patch
@@ -0,0 +1,12 @@
+diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx
+--- root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2019-09-11 15:36:49.000000000 +0200
++++ root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2020-02-15 21:16:58.819735413 +0100
+@@ -26,6 +26,8 @@
+ {
+ }
+
++constexpr const ROOT::Experimental::RDrawingAttrBase::FromOption_t ROOT::Experimental::RDrawingAttrBase::FromOption;
++
+ ROOT::Experimental::RDrawingAttrBase::RDrawingAttrBase(FromOption_t, const Name &name, RDrawingOptsBase &opts) :
+ fPath{name.fStr}, fHolder(opts.GetHolder())
+ {
diff --git a/root.spec b/root.spec
index 32f8148..21f5387 100644
--- a/root.spec
+++ b/root.spec
@@ -51,7 +51,7 @@
Name: root
Version: 6.18.04
%global libversion %(cut -d. -f 1-2 <<< %{version})
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@@ -121,11 +121,22 @@ Patch17: %{name}-stress-aarch64-ppc64le.patch
# Fix GDB pretty printers install name and location
# https://github.com/root-project/root/pull/4024
Patch18: %{name}-pretty-printers.patch
+# Missing include - fails with gcc 10
+Patch19: %{name}-missing-include-string.patch
+# Fix ppc64le build with gcc 10
+Patch20: %{name}-clang-altivec-vector.patch
+# Missing symbol - with gcc 10
+Patch21: %{name}-static-constexpr.patch
# s390x suffers from endian issues resulting in failing tests
# and broken documentation generation
# https://sft.its.cern.ch/jira/browse/ROOT-8703
ExcludeArch: s390x
+%if %{?fedora}%{!?fedora:0} >= 32
+# The rootcling_stage1 binary segfaults on 32-bit arm when
+# compiled with gcc 10 - exclude the architecture for now
+ExcludeArch: %{arm}
+%endif
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
BuildRequires: cmake >= 3.4.3
@@ -1744,6 +1755,9 @@ This package contains an ntuple extension for ROOT 7.
%patch16 -p1
%patch17 -p1
%patch18 -p1
+%patch19 -p1
+%patch20 -p1
+%patch21 -p1
# Remove bundled sources in order to be sure they are not used
# * afterimage
@@ -2586,6 +2600,28 @@ excluded="${excluded}|tutorial-roofit-rf608_fitresultaspdf-py"
%endif
%endif
+%if %{?fedora}%{!?fedora:0} >= 32
+# New failures with Fedora 32+ (gcc 10)
+excluded="${excluded}|tutorial-v7-markerStyle.cxx"
+%ifarch %{ix86}
+excluded="${excluded}|\
+TMVA-DNN-CNN-Reshape-CPU|\
+gtest-tree-dataframe-test-dataframe-interface"
+%endif
+%ifarch ppc64le
+excluded="${excluded}|\
+TMVA-DNN-CNN-Reshape-CPU|\
+tutorial-v7-lineStyle.cxx|\
+tutorial-v7-lineWidth.cxx"
+%endif
+%endif
+
+%if %{?fedora}%{!?fedora:0} >= 33
+%ifarch aarch64
+excluded="${excluded}|tutorial-tmva-TMVARegression"
+%endif
+%endif
+
make test ARGS="%{?_smp_mflags} --output-on-failure -E \"${excluded}\""
popd
@@ -3642,6 +3678,10 @@ fi
%endif
%changelog
+* Sat Feb 22 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-5
+- Fixes and workarounds for gcc 10
+- ExcludeArch for 32 bit ARM because rootcling_stage1 segfaults
+
* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.18.04-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
commit e9736ff4813e0946e69b69b0ca5d44d6d432942f
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Thu Jan 30 17:48:04 2020 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/root.spec b/root.spec
index 9a73900..32f8148 100644
--- a/root.spec
+++ b/root.spec
@@ -51,7 +51,7 @@
Name: root
Version: 6.18.04
%global libversion %(cut -d. -f 1-2 <<< %{version})
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@@ -3642,6 +3642,9 @@ fi
%endif
%changelog
+* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.18.04-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
* Wed Dec 04 2019 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-3
- Fix shebangs in root-cli for EPEL 8
commit a8a22f4c901157952fb7eafeb666e49812e2287c
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Wed Dec 4 15:11:16 2019 +0100
Fix shebangs in root-cli for EPEL 8
diff --git a/root.spec b/root.spec
index cdf9fa9..9a73900 100644
--- a/root.spec
+++ b/root.spec
@@ -51,7 +51,7 @@
Name: root
Version: 6.18.04
%global libversion %(cut -d. -f 1-2 <<< %{version})
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@@ -2093,6 +2093,9 @@ install -p -m 644 %{SOURCE7} %{buildroot}%{_pkgdocdir}
mkdir -p %{buildroot}%{_datadir}/%{name}/cli
mv %{buildroot}%{_libdir}/%{name}/cmdLineUtils.py* \
%{buildroot}%{_datadir}/%{name}/cli
+%if %{py3default}
+rm %{buildroot}%{_libdir}/%{name}/__pycache__/cmdLineUtils.*
+%endif
sed -e '/^\#!/d' -i %{buildroot}%{_datadir}/%{name}/cli/cmdLineUtils.py
# Move GDB pretty printers to auto load safe path
@@ -2314,8 +2317,7 @@ EOF
# Avoid /usr/bin/env shebangs (and adapt cli to cmdLineUtils location)
sed -e 's!/usr/bin/env bash!/bin/bash!' -i %{buildroot}%{_bindir}/root-config
-sed -e 's!/usr/bin/env python2!%{__python2}!' \
- -e 's!/usr/bin/env python3!%{__python3}!' \
+sed -e 's!/usr/bin/env python.*!%{__pythondef}!' \
-e '/import sys/d' \
-e '/import cmdLineUtils/iimport sys' \
-e '/import cmdLineUtils/isys.path.insert(0, "%{_datadir}/%{name}/cli")' \
@@ -2328,8 +2330,7 @@ sed -e 's!/usr/bin/env python2!%{__python2}!' \
%{buildroot}%{_bindir}/rootprint \
%{buildroot}%{_bindir}/rootrm \
%{buildroot}%{_bindir}/rootslimtree
-sed -e 's!/usr/bin/env python2!%{__python2}!' \
- -e 's!/usr/bin/env python3!%{__python3}!' \
+sed -e 's!/usr/bin/env python.*!%{__pythondef}!' \
-i %{buildroot}%{_bindir}/rootdrawtree
sed -e 's!/usr/bin/env python!%{__pythondef}!' \
-i %{buildroot}%{_datadir}/%{name}/dictpch/makepch.py \
@@ -3641,6 +3642,9 @@ fi
%endif
%changelog
+* Wed Dec 04 2019 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-3
+- Fix shebangs in root-cli for EPEL 8
+
* Tue Dec 03 2019 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-2
- Remove workarounds for RHEL 7 aarch64 (architecture dropped by EPEL 7)
- Enable QtWebEngine dependent modules on EPEL 8 (now available)
commit 69d6612d8675184db1718516f483b7b9a36cabbf
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Tue Dec 3 22:35:14 2019 +0100
Remove workarounds for RHEL 7 aarch64 (architecture dropped by EPEL 7)
Enable QtWebEngine dependent modules on EPEL 8 (now available)
diff --git a/JupyROOT-on-EPEL b/JupyROOT-on-EPEL
new file mode 100644
index 0000000..cf2b5e0
--- /dev/null
+++ b/JupyROOT-on-EPEL
@@ -0,0 +1,37 @@
+While all is fine in Fedora and all packages needed to run the JupyROOT
+notebook are available there, this is not true for EPEL.
+
+Hopefully the ipython/jupyter stack will at some point be available in
+EPEL too, but at this point in time it is not.
+
+However, it is possible to work around this issue using a python
+virtual environment.
+
+First, install the required root packages (as root):
+
+$ yum install root root-notebook python3-jupyroot
+
+Then return to your non-root user and create a python3 virtual
+environment:
+
+$ python3 -m venv ~/jupyter-env
+
+Activate the environment:
+
+$ . ~/jupyter-env/bin/activate
+
+Then install the missing packages in the virtual environment using pip:
+
+$ pip install notebook metakernel
+
+Then start the root notebook:
+
+$ PYTHONPATH=~/jupyter-env/lib/python3.6/site-packages root --notebook
+
+And that is it.
+
+If you want to start it again and you haven't removed the virtual
+environment, only two of the steps are necessary:
+
+$ . ~/jupyter-env/bin/activate
+$ PYTHONPATH=~/jupyter-env/lib/python3.6/site-packages root --notebook
diff --git a/root.spec b/root.spec
index d4b1d6b..cdf9fa9 100644
--- a/root.spec
+++ b/root.spec
@@ -34,12 +34,6 @@
%global root7 0
%endif
-%if %{?rhel}%{!?rhel:0} == 8
-# qt5-qtwebengine not yet available in EPEL 8 (only in -playground)
-# https://pagure.io/epel/issue/79
-%global qt5_qtwebengine_arches none
-%endif
-
%if %{?fedora}%{!?fedora:0} >= 28 || %{?rhel}%{!?rhel:0} >= 8
# Multi-threading support requires TBB version >= 2018
%global tbb 1
@@ -57,7 +51,7 @@
Name: root
Version: 6.18.04
%global libversion %(cut -d. -f 1-2 <<< %{version})
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@@ -78,6 +72,9 @@ Source4: %{name}.png
# MIME type file and icon
Source5: %{name}.xml
Source6: application-x-root.png
+# Instructions for setting up a python virtual environment
+# for running the JupyROOT notebook on EPEL
+Source7: JupyROOT-on-EPEL
# Use system fonts
Patch0: %{name}-fontconfig.patch
# Revert the removal of DataFrame for 32 bit architectures
@@ -226,13 +223,9 @@ BuildRequires: redhat-lsb-core
BuildRequires: font(freesans)
BuildRequires: font(freeserif)
BuildRequires: font(freemono)
-%if %{?fedora}%{!?fedora:0} >= 27 || %{?rhel}%{!?rhel:0} >= 8
BuildRequires: font(standardsymbolsps)
BuildRequires: font(d050000l)
BuildRequires: font(z003)
-%else
-BuildRequires: urw-fonts
-%endif
BuildRequires: font(droidsansfallback)
# With gdb installed test failures will show backtraces
BuildRequires: gdb
@@ -298,15 +291,7 @@ In particular it contains STIX version 0.9 that is used by TMathText.
%package doc
Summary: Documentation for the ROOT system
-%if %{?rhel}%{!?rhel:0} != 7
-# RHEL 7 is now RHEL 7.7, but aarch64 is stuck on RHEL 7.6.
-# Differences in graphics libraries (SVG support in doxygen)
-# between the releases result in that the content of the
-# documentation package differs between architectures in such a
-# way that the build is rejected as invalid if the documentation
-# package is noarch. Don't declare the package noarch in EPEL 7.
BuildArch: noarch
-%endif
License: LGPLv2+ and GPLv2+ and BSD
Requires: mathjax
@@ -354,13 +339,9 @@ Requires: xorg-x11-fonts-ISO8859-1-75dpi
Requires: font(freesans)
Requires: font(freeserif)
Requires: font(freemono)
-%if %{?fedora}%{!?fedora:0} >= 27 || %{?rhel}%{!?rhel:0} >= 8
Requires: font(standardsymbolsps)
Requires: font(d050000l)
Requires: font(z003)
-%else
-Requires: urw-fonts
-%endif
Requires: font(droidsansfallback)
Obsoletes: %{name}-ruby < 6.00.00
Obsoletes: %{name}-vdt < 6.10.00
@@ -472,12 +453,6 @@ TMVA interface used by JupyROOT.
%package -n python%{python3_pkgversion}-%{name}
Summary: Python extension for ROOT
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
-%if %{?rhel}%{!?rhel:0} == 7
-%ifarch aarch64
-# Workaround broken RHEL 7 aarch64
-Provides: python3-%{name} = %{version}-%{release}
-%endif
-%endif
Provides: %{name}-python%{python3_pkgversion} = %{version}-%{release}
Obsoletes: %{name}-python%{python3_pkgversion} < 6.08.00
Requires: %{name}-core%{?_isa} = %{version}-%{release}
@@ -491,12 +466,6 @@ provide a Python interface to ROOT, and a ROOT interface to Python.
%package -n python%{python3_pkgversion}-jupyroot
Summary: ROOT Jupyter kernel
%{?python_provide:%python_provide python%{python3_pkgversion}-jupyroot}
-%if %{?rhel}%{!?rhel:0} == 7
-%ifarch aarch64
-# Workaround broken RHEL 7 aarch64
-Provides: python3-jupyroot = %{version}-%{release}
-%endif
-%endif
Requires: python%{python3_pkgversion}-%{name}%{?_isa} = %{version}-%{release}
Requires: python%{python3_pkgversion}-jsmva = %{version}-%{release}
Requires: %{name}-core%{?_isa} = %{version}-%{release}
@@ -518,12 +487,6 @@ The Jupyter kernel for the ROOT notebook.
Summary: TMVA interface used by JupyROOT
BuildArch: noarch
%{?python_provide:%python_provide python%{python3_pkgversion}-jsmva}
-%if %{?rhel}%{!?rhel:0} == 7
-%ifarch aarch64
-# Workaround broken RHEL 7 aarch64
-Provides: python3-jsmva = %{version}-%{release}
-%endif
-%endif
Requires: %{name}-tmva = %{version}-%{release}
%description -n python%{python3_pkgversion}-jsmva
@@ -1634,6 +1597,11 @@ Summary: Static files for the Jupyter ROOT Notebook
BuildArch: noarch
Requires: %{name}-core = %{version}-%{release}
Requires: js-jsroot
+%if %{?fedora}%{!?fedora:0} >= 26
+# jupyter-notebook not available in
+# Fedora <= 25 or RHEL/EPEL - some functionality missing
+Requires: jupyter-notebook
+%endif
%description notebook
Javascript and style files for the Jupyter ROOT Notebook.
@@ -2118,6 +2086,9 @@ install -p -m 644 %{SOURCE5} %{buildroot}%{_datadir}/mime/packages
install -p -m 644 %{SOURCE6} \
%{buildroot}%{_datadir}/icons/hicolor/48x48/mimetypes
+# Additional documentation
+install -p -m 644 %{SOURCE7} %{buildroot}%{_pkgdocdir}
+
# Move python cli helper to its own directory
mkdir -p %{buildroot}%{_datadir}/%{name}/cli
mv %{buildroot}%{_libdir}/%{name}/cmdLineUtils.py* \
@@ -2133,11 +2104,7 @@ mv %{buildroot}%{_libdir}/%{name}/*-gdb.py \
%if %{?fedora}%{!?fedora:0} >= 28 || %{?rhel}%{!?rhel:0} >= 8
# This is the default for Fedora 30+, set it for Fedora 28-29
%global _python_bytecompile_extra 0
-%if %{py3default}
-%py_byte_compile %{__python3} %{buildroot}%{_datadir}/%{name}/cli
-%else
-%py_byte_compile %{__python2} %{buildroot}%{_datadir}/%{name}/cli
-%endif
+%py_byte_compile %{__pythondef} %{buildroot}%{_datadir}/%{name}/cli
%py_byte_compile %{__python3} %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}
%endif
@@ -2349,7 +2316,6 @@ EOF
sed -e 's!/usr/bin/env bash!/bin/bash!' -i %{buildroot}%{_bindir}/root-config
sed -e 's!/usr/bin/env python2!%{__python2}!' \
-e 's!/usr/bin/env python3!%{__python3}!' \
- -e 's!/usr/bin/env platform-python!%{__pythondef}!' \
-e '/import sys/d' \
-e '/import cmdLineUtils/iimport sys' \
-e '/import cmdLineUtils/isys.path.insert(0, "%{_datadir}/%{name}/cli")' \
@@ -2364,7 +2330,6 @@ sed -e 's!/usr/bin/env python2!%{__python2}!' \
%{buildroot}%{_bindir}/rootslimtree
sed -e 's!/usr/bin/env python2!%{__python2}!' \
-e 's!/usr/bin/env python3!%{__python3}!' \
- -e 's!/usr/bin/env platform-python!%{__pythondef}!' \
-i %{buildroot}%{_bindir}/rootdrawtree
sed -e 's!/usr/bin/env python!%{__pythondef}!' \
-i %{buildroot}%{_datadir}/%{name}/dictpch/makepch.py \
@@ -3625,6 +3590,7 @@ fi
%files notebook
%{_bindir}/rootnb.exe
%{_datadir}/%{name}/notebook
+%doc %{_pkgdocdir}/JupyROOT-on-EPEL
%if %{root7}
%files graf-gpadv7 -f includelist-graf2d-gpadv7
@@ -3675,6 +3641,10 @@ fi
%endif
%changelog
+* Tue Dec 03 2019 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-2
+- Remove workarounds for RHEL 7 aarch64 (architecture dropped by EPEL 7)
+- Enable QtWebEngine dependent modules on EPEL 8 (now available)
+
* Mon Sep 30 2019 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-1
- Update to 6.18.04
- First build for EPEL 8
commit 3021cd531dcb990c1a3b30b9eda198adee4855eb
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Fri Oct 11 13:19:37 2019 +0200
Exclude failing test on Fedora 29 ppc64le
diff --git a/root.spec b/root.spec
index 341aaa2..d4b1d6b 100644
--- a/root.spec
+++ b/root.spec
@@ -2610,8 +2610,8 @@ tutorial-v7-draw_subpads.cxx"
%endif
%ifarch ppc64le
-%if %{?fedora}%{!?fedora:0} == 30
-# This test fails on Fedora 30 ppc64le with the following error:
+%if %{?fedora}%{!?fedora:0} == 29 || %{?fedora}%{!?fedora:0} == 30
+# This test fails on Fedora 29 and 30 ppc64le with the following error:
# cling::DynamicLibraryManager::loadLibrary():
# /lib64/libGLdispatch.so.0: cannot allocate memory in static TLS block
# Error in <TInterpreter::TCling::AutoLoad>:
4 years, 2 months
[Report] Packages Restricting Arches
by root
New package excluding arches (8)
============================
- rust-anymap
ExclusiveArch: %{rust_arches}
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-liquid
ExclusiveArch: %{rust_arches}
- rust-liquid-core
ExclusiveArch: %{rust_arches}
- rust-liquid-derive
ExclusiveArch: %{rust_arches}
- rust-liquid-lib
ExclusiveArch: %{rust_arches}
- rust-proc-quote
ExclusiveArch: %{rust_arches}
- rust-proc-quote-impl
ExclusiveArch: %{rust_arches}
List of packages currently excluding arches (2783)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aboot
ExclusiveArch: alpha
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- alleyoop
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x %{arm} aarch64
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64
- anet
ExclusiveArch: %{GPRbuild_arches}
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: x86_64 %{ix86} %{arm}
- arduino
ExclusiveArch: %{go_arches}
- arduino-builder
ExclusiveArch: %{go_arches}
- arm-trusted-firmware
ExclusiveArch: aarch64
- aunit
ExclusiveArch: %GPRbuild_arches
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- banshee
ExclusiveArch: %{mono_arches}
- banshee-community-extensions
ExclusiveArch: %ix86 x86_64 ppc ppc64 ia64 %{arm} sparcv9 alpha s390x
- bareftp
ExclusiveArch: %{mono_arches}
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- bcm283x-firmware
ExclusiveArch: %{arm} aarch64
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- bless
ExclusiveArch: %mono_arches
- boo
ExclusiveArch: %{mono_arches}
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- bwa
ExclusiveArch: x86_64
- calamares
ExclusiveArch: %{ix86} x86_64
- calibre
ExclusiveArch: %{qt5_qtwebengine_arches}
- carto
ExclusiveArch: %{nodejs_arches} noarch
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- ceph
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- chromium
ExclusiveArch: x86_64 i686
ExclusiveArch: x86_64 i686 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- coffee-script
ExclusiveArch: %{nodejs_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- containers
ExclusiveArch: %{ldc_arches}
- cpu-x
ExclusiveArch: i686 x86_64
- cpuid
ExclusiveArch: %{ix86} x86_64
- cqrlog
ExclusiveArch: %{fpc_arches}
- crash
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- cri-tools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- criu
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- cryptlib
ExclusiveArch: x86_64 %{ix86} aarch64 ppc64 ppc64le
- cryptobone
ExclusiveArch: x86_64 %{ix86} ppc64 ppc64le aarch64
- daq
ExclusiveArch: x86_64 aarch64
- darktable
ExclusiveArch: x86_64 aarch64 ppc64le
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- dbxtool
ExclusiveArch: i386 x86_64 aarch64
- deepin-daemon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- discord-irc
ExclusiveArch: %{nodejs_arches} noarch
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- docco
ExclusiveArch: %{nodejs_arches} noarch
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dolphin-emu
ExclusiveArch: x86_64 aarch64
- dotnet-build-reference-packages
ExclusiveArch: x86_64
- dotnet3.1
ExclusiveArch: x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dssi-vst
ExclusiveArch: %{ix86} x86_64
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e3
ExclusiveArch: %{ix86} x86_64
- edac-utils
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64}
- edb
ExclusiveArch: %{ix86} x86_64
- edk2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: x86_64 aarch64
- efibootmgr
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- elasticdump
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- embree
ExclusiveArch: x86_64
- enki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- eric
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- extlinux-bootloader
ExclusiveArch: %{arm} aarch64
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- fes
ExclusiveArch: %{ix86} x86_64
- flannel
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- florist
ExclusiveArch: %{GPRbuild_arches}
- fluxcapacitor
ExclusiveArch: %{ix86} x86_64 %{arm}
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: %{ix86} x86_64 ppc64
- fst
ExclusiveArch: i686
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x %{power64}
- ga
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- gbrainy
ExclusiveArch: %mono_arches
- gdata-sharp
ExclusiveArch: %mono_arches
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gela-asis
ExclusiveArch: %GPRbuild_arches
- ghdl
ExclusiveArch: %{GNAT_arches}
- ghostwriter
ExclusiveArch: %{qt5_qtwebengine_arches}
- gio-sharp
ExclusiveArch: %mono_arches
- gir-to-d
ExclusiveArch: %{ldc_arches}
- git-octopus
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- glibc32
ExclusiveArch: x86_64
- glibd
ExclusiveArch: %{ldc_arches}
- gmqcc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- gnatcoll
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-bindings
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-db
ExclusiveArch: %{GPRbuild_arches}
- gnome-boxes
ExclusiveArch: x86_64
- gnome-desktop-sharp
ExclusiveArch: %mono_arches
- gnome-do
ExclusiveArch: %mono_arches
- gnome-guitar
ExclusiveArch: %{mono_arches}
- gnome-keyring-sharp
ExclusiveArch: %mono_arches
- gnome-rdp
ExclusiveArch: %{mono_arches}
- gnome-sharp
ExclusiveArch: %mono_arches
- gnome-subtitles
ExclusiveArch: %mono_arches
- gnu-efi
ExclusiveArch: %{efi}
- go-bindata
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- go-compilers
ExclusiveArch: %{go_arches}
- go-rpm-macros
ExclusiveArch: %{golang_arches} %{gccgo_arches}
- godep
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang
ExclusiveArch: %{golang_arches}
- gomtree
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- gprbuild
ExclusiveArch: %{GPRbuild_arches} %{bootstrap_arch}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha
- grafana
ExclusiveArch: %{grafana_arches}
- grafana-pcp
ExclusiveArch: %{nodejs_arches}
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- gudev-sharp
ExclusiveArch: %mono_arches
- hcc
ExclusiveArch: x86_64 aarch64
- hedgewars
ExclusiveArch: %{fpc_arches}
- heketi
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- hip
ExclusiveArch: x86_64
- hsakmt
ExclusiveArch: x86_64 aarch64
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64
- i3status-rs
ExclusiveArch: %{rust_arches}
- icaro
ExclusiveArch: %{ix86} x86_64 noarch
- ikona
ExclusiveArch: %{qt5_qtwebengine_arches}
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- insect
ExclusiveArch: %{nodejs_arches} noarch
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-gmmlib
ExclusiveArch: x86_64 i686
- intel-mediasdk
ExclusiveArch: x86_64
- intel-undervolt
ExclusiveArch: i386 x86_64
- ioport
ExclusiveArch: %{ix86} x86_64
- ipmctl
ExclusiveArch: x86_64
- ipw2100-firmware
ExclusiveArch: noarch i386 x86_64
- ipw2200-firmware
ExclusiveArch: noarch i386 x86_64
- ispc
ExclusiveArch: %{arm} %{ix86} x86_64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iyfct
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- jake
ExclusiveArch: %{nodejs_arches} noarch
- jasmine-node
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- josm
ExclusiveArch: %{ix86} x86_64
- keepass
ExclusiveArch: %{mono_arches}
- kernel
ExclusiveArch: x86_64 s390x %{arm} aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le
- kf5-akonadi-calendar
ExclusiveArch: x86_64 %{arm}
- kf5-akonadi-search
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kalarmcal
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kblog
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kcalendarcore
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kcalendarutils
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kitinerary
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kmailtransport
ExclusiveArch: x86_64 %{arm}
- kf5-ktnef
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-libgravatar
ExclusiveArch: x86_64 %{arm}
- kf5-libkdcraw
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-libkdepim
ExclusiveArch: x86_64 %{arm}
- kf5-libksieve
ExclusiveArch: x86_64 %{arm}
- kf5-mailimporter
ExclusiveArch: x86_64 %{arm}
- kf5-pimcommon
ExclusiveArch: x86_64 %{arm}
- kicad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- kiwix-desktop
ExclusiveArch: %{qt5_qtwebengine_arches}
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- knotes
ExclusiveArch: x86_64 %{arm}
- kompose
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 s390x
- kosmtik
ExclusiveArch: %{nodejs_arches} noarch
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- lazarus
ExclusiveArch: %{fpc_arches}
- ldc
ExclusiveArch: %{ldc_arches}
- libbsr
ExclusiveArch: %{power64}
- libclc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
- libcxl
ExclusiveArch: %{power64}
- libdfp
ExclusiveArch: ppc ppc64 ppc64le s390 s390x
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libkgapi
ExclusiveArch: x86_64 %{arm}
- libocxl
ExclusiveArch: ppc64le
- libpmemobj-cpp
ExclusiveArch: x86_64
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- librtas
ExclusiveArch: %{power64}
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzfcphbaapi
ExclusiveArch: s390 s390x
- lightdm
ExclusiveArch: x86_64 ppc64le
- lodash
ExclusiveArch: %{nodejs_arches} noarch
- log4net
ExclusiveArch: %mono_arches
- lrmi
ExclusiveArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 s390x ppc64le
- luxcorerender
ExclusiveArch: x86_64
- mactel-boot
ExclusiveArch: x86_64
- mangohud
ExclusiveArch: x86_64 i686
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mantle
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- matreshka
ExclusiveArch: %GPRbuild_arches
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mbpfan
ExclusiveArch: x86_64
- mcelog
ExclusiveArch: i686 x86_64
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64
- memtest86+
ExclusiveArch: %{ix86} x86_64
- mesos
ExclusiveArch: x86_64
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} %{ix86} x86_64
- mine_detector
ExclusiveArch: %{GPRbuild_arches}
- minetest
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mirrorlist-server
ExclusiveArch: %{rust_arches}
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- mnemosyne
ExclusiveArch: noarch %{qt5_qtwebengine_arches}
- mocha
ExclusiveArch: %{nodejs_arches} noarch
- mod_mono
ExclusiveArch: %mono_arches
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64
- mono
ExclusiveArch: %mono_arches
- mono-addins
ExclusiveArch: %mono_arches
- mono-basic
ExclusiveArch: %{mono_arches}
- mono-bouncycastle
ExclusiveArch: %mono_arches
- mono-cecil
ExclusiveArch: %mono_arches
- mono-cecil-flowanalysis
ExclusiveArch: %mono_arches
- mono-reflection
ExclusiveArch: %mono_arches
- mono-tools
ExclusiveArch: %mono_arches
- mono-zeroconf
ExclusiveArch: %mono_arches
- monobristol
ExclusiveArch: %{mono_arches}
- monodevelop
ExclusiveArch: %mono_arches
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
- monosim
ExclusiveArch: %mono_arches
- mozilla-iot-gateway
ExclusiveArch: %{nodejs_arches} noarch
- mozilla-iot-gateway-addon-node
ExclusiveArch: %{nodejs_arches} noarch
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- msr-tools
ExclusiveArch: %{ix86} x86_64
- mustache-d
ExclusiveArch: %{ldc_arches}
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- nacl-binutils
ExclusiveArch: x86_64
- nant
ExclusiveArch: %mono_arches
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nim
ExclusiveArch: %{nim_arches}
- node-gyp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs
ExclusiveArch: %{nodejs_arches}
- nodejs-Base64
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-abbrev
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-acorn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-acorn-dynamic-import
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-acorn-jsx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-agentkeepalive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ain2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-align-text
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgblack
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgblue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgcyan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bggreen
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgmagenta
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgwhite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgyellow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-black
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-blue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bold
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-cyan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-dim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-escapes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-gray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-green
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-grey
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-hidden
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-inverse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-italic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-magenta
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-red
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-reset
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-strikethrough
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-styles
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-underline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-white
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-wrap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-yellow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansicolors
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansistyles
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-any-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-any-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-append-field
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-append-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-archy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-are-we-there-yet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-argparse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-argsparser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arr-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arr-exclude
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arr-flatten
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arr-union
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-buffer-from-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-differ
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-events
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-filter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-find
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-find-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-flatten
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-foreach
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-ify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-reduce
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-union
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-unique
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arraybuffer-dot-slice
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arraybuffer-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arrify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-asap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ascii-tree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ascli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-asn1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assert-plus
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assertion-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assume
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-array-reduce
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-async-arrays
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-limiter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-queue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-some
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-asynckit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-atob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-auto-bind
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-autoresolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws-sign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws-sign2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws4
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-code-frame
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-plugin-syntax-async-functions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-plugin-syntax-async-generators
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-runtime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-babylon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-backoff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-balanced-match
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base-plugins
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base32-encode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base64-arraybuffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base64-url
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-base64id
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bash-match
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-basic-auth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-basic-auth-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-batch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bcrypt
ExclusiveArch: %{nodejs_arches}
- nodejs-bcryptjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-beeper
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-benchmark
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-better-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-better-than-before
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bignumber-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bind-obj-methods
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bindings
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bit-mask
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-blob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-block-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bluebird
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-body-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-boolbase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-boom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-brace-expansion
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-braces
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-browser-stdout
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buf-compare
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-crc32
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-equal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-writer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bufferutil
ExclusiveArch: %{nodejs_arches}
- nodejs-builtin-modules
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-builtins
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bundle-dependencies
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bunker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bunyan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-burrito
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-busboy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-byline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bytes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cache-base
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caching-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-call-delayed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-matcher
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-me-maybe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-signature
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-callback-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caller-callsite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caller-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-callsite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-callsites
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camelcase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camelcase-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-carrier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caseless
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-center-align
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-as-promised
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-cheerio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-connect-middleware
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-json-schema
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-oauth2orize-grant
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-passport-strategy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-spies-next
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chainer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chalk
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-char-spinner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-character-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-chardet
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-charenc
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-charm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-check-env
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-check-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cheerio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-child-process-close
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chmodr
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chownr
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chroma-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chrono
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ci-info
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-circular-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cjson
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-class-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clean-css
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clean-yaml-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clear-require
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-spinner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-table
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cliui
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone-deep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone-stats
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-closure-compiler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cmd-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-co
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-co-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-co-with-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-coa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-code-point-at
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-codemirror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-coffee-coverage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-collection-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-collections
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-color-support
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colour
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-columnify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-combined-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commander
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-common-path-prefix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commondir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-commonmark
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-compare-func
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-compare-versions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-emitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-indexof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-inherit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-concat-map
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-concat-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-config-chain
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-connect-livereload
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-connect-timeout
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-console-dot-log
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-console-group
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-consolemd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-constantinople
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-content-disposition
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-content-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-angular
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-atom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-codemirror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-ember
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-eslint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-express
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jquery
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jscs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jshint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-preset-loader
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-writer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-commits-filter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-commits-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-convert-hex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-convert-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie-jar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookie-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookie-session
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie-signature
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookiejar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookies
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-copy-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-core-assert
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-core-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-core-util-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-couch-login
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-coveralls
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-crc
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cross-spawn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cross-spawn-async
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-crypt
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cryptiles
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-csrf
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-select
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-css-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-tree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-css-what
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-csscomb-core
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csslint
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csso
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cssom
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csurf
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-generate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-spectrum
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ctype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-currently-unhandled
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cycle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cyclist
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-d
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dargs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-data-uri-to-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dateformat
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-death
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debug
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-debug-fabulous
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debug-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debuglog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-decamelize
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-decamelize-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-decimal-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dedent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-eql
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-equal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deep-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deeper
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-default-require-extensions
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-default-resolution
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-defaults
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defence
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-defence-cli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-define-properties
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-define-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defined
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-del
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-delayed-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-delegates
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-delete
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dep-graph
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-depd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deprecated
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-destroy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detect-file
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-detect-indent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-detect-newline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detect-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detective
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dezalgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dicer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-difflet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-difflib
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dirty-chai
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-discord-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-docopt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-doctrine
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dot-prop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dotfile-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dryice
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-duplexer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duplexer2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-duplexify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duration
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-each
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ebnf-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-echomd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-editor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ee-first
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ejs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-emojione
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-empty-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-end-of-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-engine-dot-io-client
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-engine-dot-io-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-error-ex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-error-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es-abstract
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es-to-primitive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es5-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es5-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-iterator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es6-promisify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es6-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-symbol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-weak-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-escallmatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escape-html
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escape-regexp-component
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-escape-string-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escodegen
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escope
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espower
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espower-location-detector
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima-fb
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima-harmony-jscs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espurify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-esrecurse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estraverse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estraverse-fb
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estree-walker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-esutils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-event-emitter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-eventemitter2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-events
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-events-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-everything-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-exit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-brackets
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-range
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-tilde
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expect-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-express
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-express-session
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-extend-shallow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extended-emitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-extglob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-eyes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fake
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fancy-log
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fast-levenshtein
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fastfall
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-faucet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-faye-websocket
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-figures
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-file-entry-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-file-sync-cmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-filelist
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-filename-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fileset
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fill-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fill-range
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-find-cache-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-find-up
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-findup-sync
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-first-chunk-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flagged-respawn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flat-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flush-write-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fmix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fn-dot-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-for-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-for-in
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-for-own
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-foreach
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-foreground-child
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-forever-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-form-data
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-formatio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-formidable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-forwarded
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fragment-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-freetree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fresh
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-from
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-dot-notify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-exists-cached
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-exists-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fs-ext
ExclusiveArch: %{nodejs_arches}
- nodejs-fs-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-temp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-vacuum
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-write-stream-atomic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream-ignore
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream-npm
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-function-bind
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-function-loop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gauge
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gaze
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gdal
ExclusiveArch: %{nodejs_arches}
- nodejs-generate-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generate-object-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-get-port
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-get-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-getobject
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-git-remote-origin-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-tails
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gitconfiglocal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-github-url-from-git
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-github-url-from-username-repo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glob-base
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-expand
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-parent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-to-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-global-modules
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-global-prefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globals
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globby
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globule
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glogg
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gnode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gonzales-pe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-graceful-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-graceful-readlink
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grip
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-growl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-banner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-cli
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-compare-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-clean
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-concat
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-csslint
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-internal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-nodeunit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-contrib-uglify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-watch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-git-authors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-init
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-known-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-log-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-lib-contrib
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-sed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-simple-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-wrap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gulplog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gzip-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-handlebars
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-har-validator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-binary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-binary2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-cors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-flag
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-gulplog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-symbols
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-unicode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-values
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-yarn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hash_file
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hawk
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-heap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-hex-to-array-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-highlight-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-historic-readline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hoek
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-homedir-polyfill
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hook-std
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hooker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-hosted-git-info
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hsluv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-htmlparser2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-deceiver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-errors
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-http-signature
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-humanize-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-i
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-i18n-transform
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-i2c
ExclusiveArch: %{nodejs_arches}
- nodejs-iconv
ExclusiveArch: %{nodejs_arches}
- nodejs-iconv-lite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-iferr
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ignore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-image-size
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-immutable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-import-local
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-imul
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-imurmurhash
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-indent-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-indexof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inflight
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-info-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inherit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-inherits
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inherits1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ini
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-int64-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-intercept-require
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-interpret
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-invert-kv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ip
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ipaddr-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-irc-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irc-formatting
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irc-upd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irregular-plurals
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-accessor-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-arrayish
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-arrow-function
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-boolean-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-builtin-module
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-callable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-data-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-date-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-dotfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-equal-shallow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-extendable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-extglob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-finite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-fullwidth-code-point
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-generator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-generator-fn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-generator-function
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-module
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-my-json-valid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-negated-glob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-number
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-number-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-observable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-odd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-path-cwd
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-path-in-cwd
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-path-inside
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-plain-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-plain-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-primitive
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-registered
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-relative
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-subset
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-text-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-typedarray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-unc-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-url
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-utf8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-valid-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-valid-instance
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-windows
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isarray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-isexe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-iso8601
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isobject
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isodate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-coverage
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-hook
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-report
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-source-maps
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-reports
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jade
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jasmine-growl-reporter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jasmine-reporters
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jest-mock
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jison-lex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joose
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joosex-namespace-depended
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joosex-simplerequest
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-base64
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-string-escape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-js-tokens
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-yaml
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jschardet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jscoverage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-localizer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json-parse-helpfulerror
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-stable-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-stringify-safe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json3
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jsonify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jsonm
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonparse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonpointer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonpointer-dot-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonselect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jwt-simple
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-keep-alive-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-keygrip
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-keypress
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-kind-of
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-klaw
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-kuler2gpl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lazy-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lazystream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lcid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lcov-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-leaflet
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leaflet-formbuilder
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leaflet-hash
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leche
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-left-pad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-less
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-less-plugin-clean-css
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-levn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-libpq
ExclusiveArch: %{nodejs_arches}
- nodejs-libxmljs
ExclusiveArch: %{nodejs_arches}
- nodejs-line-numbers
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-line-reader
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-linefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-linkify-it
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-load-grunt-tasks
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-locate-character
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-locate-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lockfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-log-driver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-ok
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lolex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-long
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-longest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-loophole
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-loud-rejection
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lru-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lru-queue
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ltx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-magic-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-make-arrow-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-generator-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-makedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-makeerror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mapnik
ExclusiveArch: %{nodejs_arches}
- nodejs-mapnik-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mapnik-vector-tile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-markdown
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-markdown-it-testgen
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-matched
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-max-timeout
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-maxmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mbtiles
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-md5
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-md5-hex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-md5-o-matic
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mdn-data
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mdurl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-media-typer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-memoize-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-memoizee
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-merge-descriptors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-metascript
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-methods
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-micromatch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-millstone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mime-db
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mime-types
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mimeparse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-minimalistic-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minimatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minimist
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-minipass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mixin-deep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mixin-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mkdirp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-bin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-git
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-modify-values
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-module-not-found-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mongodb
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mongodb-core
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-monocle
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-morgan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-muffin
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multimatch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multiparty
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multipipe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-murmur-32
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mustache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mutate-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mute-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mv
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mysql
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mz
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nan0
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nan1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nanomatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nanomsg
ExclusiveArch: %{nodejs_arches}
- nodejs-nanoseconds
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ncp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-needle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-negative-zero
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-net-browserify-alt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-netmask
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-next-tick
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ng-classify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-dot-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-expat
ExclusiveArch: %{nodejs_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- nodejs-node-int64
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-markdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-static
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-stringprep
ExclusiveArch: %{nodejs_arches}
- nodejs-node-uuid
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nomnom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-noncharacters
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nopt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nopt-usage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-noptify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-normalize-git-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-normalize-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-cache-filename
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-install-checks
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-license
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-npm-package-arg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-run-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-user-validate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npmlog
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nth-check
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-number-is-nan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-numeral
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth-sign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth2orize
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-assign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-copy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-dot-assign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-dot-entries
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-dot-omit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-dot-pick
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-inspect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-observable-to-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-obuf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-okay
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-on-finished
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-on-headers
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-once
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-only-shallow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-opal-runtime
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-open
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-opener
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-option-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-option-chain
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-optionator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-optjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-opts
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-orchestrator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ordered-read-streams
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-os-homedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-locale
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-tmpdir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-osenv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-output-file-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-own-or
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-own-or-env
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-finally
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-limit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-locate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-try
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-package
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-package-license
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-packaging
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-packet-reader
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pad-left
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-paperboy
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parallel-transform
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-github-repo-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parse-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-passwd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parsejson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseqs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseuri
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseurl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pascalcase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-http-bearer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth2-client-password
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-strategy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-array
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-path-dirname
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-exists
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-extra
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-is-absolute
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-is-inside
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-key
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-parse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-to-regexp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-path-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pathval
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pause
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pbkdf2-password
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pedding
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-connection-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-cursor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-escape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-int8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-native
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-numeric
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-packet-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-types
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pgpass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pinkie
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pinkie-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pkg-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pkg-up
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pkginfo
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-platform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-plur
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-posix-character-classes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-bytea
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-date
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-interval
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-precond
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prelude-ls
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-preserve
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-bytes
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-hrtime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pretty-time
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prism-media
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-process-nextick-args
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proclaim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-progress
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-progress-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-promises-aplus-tests
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prompt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-promzard
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-propagate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-propget
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proto-list
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proxy-addr
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-proxyquire
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pruddy-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pseudomap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pubcontrol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pump
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pumpify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-q
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-q-io
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-qs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-qtdatastream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-queue-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-quick-lru
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-qunit-extras
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rainbowsocks
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-random-bytes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-random-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-randomatic
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-range-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-raw-body
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-re-emitter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-all-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-cmd-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-file
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-json-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-package-json
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-pkg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readable-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-readdir-enhanced
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readdir-scoped-modules
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readdirp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-realize-package-specifier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rechoir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-redent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-reduce-component
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-regex-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-regex-not
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-remove-trailing-separator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-repeat-element
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-repeat-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-repeating
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-repl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-replace
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-replace-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-replace-require-self
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-request
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-cs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-require-directory
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-inject
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-main-filename
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-relative
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-uncached
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-yaml
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-requirejs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-cwd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve-from
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-pkg
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-response-time
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resumer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ret
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-retry
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-reusify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-revalidator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rewire
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rfile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rhea
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-right-align
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rimraf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rndm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rollup
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rollup-plugin-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-commonjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-node-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-pluginutils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ronn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-runforcover
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-safe-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-safe-json-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-safe-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-safecb
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-samsam
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sax
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-secure-random
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-seedrandom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-select-hose
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-semver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sentiment
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sequencify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serialize-error
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serve-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-server-destroy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-blocking
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-getter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-set-immediate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-immediate-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-setimmediate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-setprototypeof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sha
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shallow-clone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shebang-command
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shebang-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shelljs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shelljs-nodecli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-should
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-should-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-format
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-http
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-showdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sift
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sigmund
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-signal-exit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-asyncify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-fmt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-simple-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-simple-markdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-single-line-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sinon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sinon-chai
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sinon-restore
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-slash
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sliced
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-slide
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-snapdragon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-capture
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-capture-set
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snekfetch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snockets
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sntp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-socket-dot-io-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sorted-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-fixtures
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-source-map-support
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sparkles
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-spawn-sync
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spawn-wrap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-exceptions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-license-ids
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spec
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spec-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-speedometer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sprintf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sprintf-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sqlite3
ExclusiveArch: %{nodejs_arches}
- nodejs-srs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ssri
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stack-trace
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stack-utils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-static-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-static-favicon
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-statuses
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-combiner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-consume
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-counter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-pair
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-replace
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-shift
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-spigot
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-streamsearch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-streamtest
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string-dot-prototype-dot-repeat
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string-dot-prototype-dot-trim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-string-width
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-string_decoder
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringmap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringscanner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringset
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-ansi
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-bom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-bom-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-bom-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-color
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-eof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-json-comments
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strong-log-transformer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-success-symbol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-superagent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-supertest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supervisor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supports-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-suspend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-svgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-symbol-observable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-mocha-reporter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-out
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tap-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-spec
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tapes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar-pack
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-temp-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temp-write
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tempfile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temporary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern-cordovajs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern-liferay
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-terst
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-testdata-w3c-json-form
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-testswarm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-testutil
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-text-extensions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-text-table
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-thenify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thenify-all
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thread-sleep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-through
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-through2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-through2-filter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thunkify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tildify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tilelive-mapnik
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tiletype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-time-diff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-time-stamp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-timekeeper
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-timers-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tiny-lr-fork
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tippex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tlds
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tmatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tmp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tmpl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-absolute-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-object-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-to-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-regex-range
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-toidentifier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-touch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tough-cookie
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tracejs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-transformers
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-traverse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-treeify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tressa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-trim-newlines
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trim-off-newlines
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trivial-deferred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-try-open
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-try-thread-sleep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tryor
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tsame
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tslib
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tsscmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tunnel-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tv4
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tweetnacl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tweetnacl-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-check
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-type-detect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-name
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-typeahead.js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uc-dot-micro
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uglify-to-browserify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uid-number
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uid-safe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uid2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ultron
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-umask
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unc-path-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-underscore-dot-logger
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unicode-length
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-union-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unique-filename
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-slug
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-temp-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unpipe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unset-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uri-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-urix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-url2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-use
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-user-home
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-utf8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-deprecate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-inspect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utilities
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utils-merge
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uuid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vali-date
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-validate-npm-package-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vasync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vhost
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vlq
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vow-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vow-queue
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vows
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-walkdir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-walker
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ware
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-warning-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-watchit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-watershed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wbuf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wcwidth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-weak-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-websocket-driver
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-when
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-whet-dot-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-which
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-win-spawn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-window-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-winston
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-with
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wolfy87-eventemitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-woothee
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wordwrap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wrap-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wrap-fn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wrappy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-write
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-write-file-atomic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ws
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xdg-basedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xml2js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlbuilder
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlhttprequest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlhttprequest-ssl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xtend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-y18n
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yallist
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-yapool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yargs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-yargs-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yarn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yeast
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zeropad
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zipfile
ExclusiveArch: %{nodejs_arches}
- nodejs-zlib-browserify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zlibjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodeunit
ExclusiveArch: %{nodejs_arches} noarch
- notify-sharp
ExclusiveArch: %{mono_arches}
- notify-sharp3
ExclusiveArch: %{mono_arches}
- nuget
ExclusiveArch: %{mono_arches}
- numatop
ExclusiveArch: x86_64 ppc64le
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
- nvml
ExclusiveArch: x86_64 ppc64le
- nwchem
ExclusiveArch: x86_64 %{ix86}
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- oci-kvm-hook
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- oci-umount
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- ocitools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- oidn
ExclusiveArch: x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-netutils
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- onedrive
ExclusiveArch: %{ldc_arches}
- opae
ExclusiveArch: x86_64
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- openjfx
ExclusiveArch: %{ix86} x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openssl-ibmca
ExclusiveArch: s390 s390x
- origin
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- orion
ExclusiveArch: %{qt5_qtwebengine_arches}
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- oshinko-cli
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- paflib
ExclusiveArch: ppc %{power64}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdfmod
ExclusiveArch: %mono_arches
- peripety
ExclusiveArch: %{rust_arches}
- perl-Dumbbench
ExclusiveArch: %{ix86} x86_64 noarch
- perl-Parse-DMIDecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- pesign
ExclusiveArch: %{ix86} x86_64 ia64 aarch64 %{arm}
- pesign-test-app
ExclusiveArch: i686 x86_64 ia64 aarch64
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- pmdk-convert
ExclusiveArch: x86_64
- pmemkv
ExclusiveArch: x86_64
- pocl
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- powerpc-utils
ExclusiveArch: ppc %{power64}
- ppc64-diag
ExclusiveArch: ppc %{power64}
- publican-jboss
ExclusiveArch: i686 x86_64
- pveclib
ExclusiveArch: ppc %{power64}
- pvs-sbcl
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-healpy
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-javabridge
ExclusiveArch: i686 x86_64
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-rpi-gpio
ExclusiveArch: %{arm} aarch64
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qevercloud
ExclusiveArch: %{qt5_qtwebengine_arches}
- qmapshack
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt4pas
ExclusiveArch: %{fpc_arches}
- qt5-qtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- quantum-espresso
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- reactfx
ExclusiveArch: %{ix86} x86_64 noarch
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- redhat-lsb
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- reg
ExclusiveArch: x86_64
- renderdoc
ExclusiveArch: %{ix86} x86_64
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm}
- rescene
ExclusiveArch: %{mono_arches}
- restsharp
ExclusiveArch: %{mono_arches}
- rhythmbox-alternative-toolbar
ExclusiveArch: %{ix86} %{arm} x86_64 ppc64 ppc64le
- rocm-runtime
ExclusiveArch: x86_64 aarch64
- rocminfo
ExclusiveArch: x86_64 aarch64
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rr
ExclusiveArch: %{ix86} x86_64
- rssguard
ExclusiveArch: %{qt5_qtwebengine_arches}
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- runc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le %{mips} s390x
- rust
ExclusiveArch: %{rust_arches}
- rust-abomonation
ExclusiveArch: %{rust_arches}
- rust-actix
ExclusiveArch: %{rust_arches}
- rust-actix-codec
ExclusiveArch: %{rust_arches}
- rust-actix-connect
ExclusiveArch: %{rust_arches}
- rust-actix-files
ExclusiveArch: %{rust_arches}
- rust-actix-http
ExclusiveArch: %{rust_arches}
- rust-actix-macros
ExclusiveArch: %{rust_arches}
- rust-actix-router
ExclusiveArch: %{rust_arches}
- rust-actix-rt
ExclusiveArch: %{rust_arches}
- rust-actix-server
ExclusiveArch: %{rust_arches}
- rust-actix-server-config
ExclusiveArch: %{rust_arches}
- rust-actix-service
ExclusiveArch: %{rust_arches}
- rust-actix-testing
ExclusiveArch: %{rust_arches}
- rust-actix-threadpool
ExclusiveArch: %{rust_arches}
- rust-actix-tls
ExclusiveArch: %{rust_arches}
- rust-actix-utils
ExclusiveArch: %{rust_arches}
- rust-actix-web
ExclusiveArch: %{rust_arches}
- rust-actix-web-codegen
ExclusiveArch: %{rust_arches}
- rust-actix_derive
ExclusiveArch: %{rust_arches}
- rust-addr2line
ExclusiveArch: %{rust_arches}
- rust-adler32
ExclusiveArch: %{rust_arches}
- rust-aes
ExclusiveArch: %{rust_arches}
- rust-aes-soft
ExclusiveArch: %{rust_arches}
- rust-afterburn
ExclusiveArch: %{rust_arches}
- rust-ahash
ExclusiveArch: %{rust_arches}
- rust-aho-corasick
ExclusiveArch: %{rust_arches}
- rust-alga
ExclusiveArch: %{rust_arches}
- rust-alga_derive
ExclusiveArch: %{rust_arches}
- rust-alloc-no-stdlib
ExclusiveArch: %{rust_arches}
- rust-alloc-stdlib
ExclusiveArch: %{rust_arches}
- rust-alphanumeric-sort
ExclusiveArch: %{rust_arches}
- rust-ammonia
ExclusiveArch: %{rust_arches}
- rust-ansi_colours
ExclusiveArch: %{rust_arches}
- rust-ansi_term
ExclusiveArch: %{rust_arches}
- rust-ansi_term0.11
ExclusiveArch: %{rust_arches}
- rust-antidote
ExclusiveArch: %{rust_arches}
- rust-anyhow
ExclusiveArch: %{rust_arches}
- rust-anymap
ExclusiveArch: %{rust_arches}
- rust-aom-sys
ExclusiveArch: %{rust_arches}
- rust-app_dirs
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-arbitrary
ExclusiveArch: %{rust_arches}
- rust-arc-swap
ExclusiveArch: %{rust_arches}
- rust-arg_enum_proc_macro
ExclusiveArch: %{rust_arches}
- rust-array-init
ExclusiveArch: %{rust_arches}
- rust-arraydeque
ExclusiveArch: %{rust_arches}
- rust-arrayref
ExclusiveArch: %{rust_arches}
- rust-arrayvec
ExclusiveArch: %{rust_arches}
- rust-ascii
ExclusiveArch: %{rust_arches}
- rust-askalono
ExclusiveArch: %{rust_arches}
- rust-askalono-cli
ExclusiveArch: %{rust_arches}
- rust-assert-json-diff
ExclusiveArch: %{rust_arches}
- rust-assert_matches
ExclusiveArch: %{rust_arches}
- rust-async-attributes
ExclusiveArch: %{rust_arches}
- rust-async-task
ExclusiveArch: %{rust_arches}
- rust-async-trait
ExclusiveArch: %{rust_arches}
- rust-atk
ExclusiveArch: %{rust_arches}
- rust-atk-sys
ExclusiveArch: %{rust_arches}
- rust-atom
ExclusiveArch: %{rust_arches}
- rust-atomicwrites
ExclusiveArch: %{rust_arches}
- rust-attohttpc
ExclusiveArch: %{rust_arches}
- rust-atty
ExclusiveArch: %{rust_arches}
- rust-autocfg
ExclusiveArch: %{rust_arches}
- rust-average
ExclusiveArch: %{rust_arches}
- rust-awc
ExclusiveArch: %{rust_arches}
- rust-backtrace
ExclusiveArch: %{rust_arches}
- rust-backtrace-sys
ExclusiveArch: %{rust_arches}
- rust-base100
ExclusiveArch: %{rust_arches}
- rust-base64
ExclusiveArch: %{rust_arches}
- rust-base64-0.10
ExclusiveArch: %{rust_arches}
- rust-base64-0.11
ExclusiveArch: %{rust_arches}
- rust-bat
ExclusiveArch: %{rust_arches}
- rust-battery
ExclusiveArch: %{rust_arches}
- rust-bencher
ExclusiveArch: %{rust_arches}
- rust-better-panic
ExclusiveArch: %{rust_arches}
- rust-bincode
ExclusiveArch: %{rust_arches}
- rust-bincode0.8
ExclusiveArch: %{rust_arches}
- rust-bindgen
ExclusiveArch: %{rust_arches}
- rust-bit-set
ExclusiveArch: %{rust_arches}
- rust-bit-vec
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-bitmaps
ExclusiveArch: %{rust_arches}
- rust-bitstream-io
ExclusiveArch: %{rust_arches}
- rust-blake2
ExclusiveArch: %{rust_arches}
- rust-blobby
ExclusiveArch: %{rust_arches}
- rust-block-buffer
ExclusiveArch: %{rust_arches}
- rust-block-cipher-trait
ExclusiveArch: %{rust_arches}
- rust-block-modes
ExclusiveArch: %{rust_arches}
- rust-block-padding
ExclusiveArch: %{rust_arches}
- rust-bodhi
ExclusiveArch: %{rust_arches}
- rust-brev
ExclusiveArch: %{rust_arches}
- rust-brotli
ExclusiveArch: %{rust_arches}
- rust-brotli-decompressor
ExclusiveArch: %{rust_arches}
- rust-brotli-sys
ExclusiveArch: %{rust_arches}
- rust-brotli2
ExclusiveArch: %{rust_arches}
- rust-bstr
ExclusiveArch: %{rust_arches}
- rust-buf_redux
ExclusiveArch: %{rust_arches}
- rust-bufstream
ExclusiveArch: %{rust_arches}
- rust-build_const
ExclusiveArch: %{rust_arches}
- rust-byte-tools
ExclusiveArch: %{rust_arches}
- rust-byte-unit
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-bytemuck
ExclusiveArch: %{rust_arches}
- rust-byteorder
ExclusiveArch: %{rust_arches}
- rust-bytes
ExclusiveArch: %{rust_arches}
- rust-bytes0.3
ExclusiveArch: %{rust_arches}
- rust-bytes0.4
ExclusiveArch: %{rust_arches}
- rust-bytesize
ExclusiveArch: %{rust_arches}
- rust-bytestring
ExclusiveArch: %{rust_arches}
- rust-c2-chacha
ExclusiveArch: %{rust_arches}
- rust-c_vec
ExclusiveArch: %{rust_arches}
- rust-cairo-rs
ExclusiveArch: %{rust_arches}
- rust-cairo-sys-rs
ExclusiveArch: %{rust_arches}
- rust-caps
ExclusiveArch: %{rust_arches}
- rust-cargo
ExclusiveArch: %{rust_arches}
- rust-cargo-bloat
ExclusiveArch: %{rust_arches}
- rust-cargo-c
ExclusiveArch: %{rust_arches}
- rust-cargo-husky
ExclusiveArch: %{rust_arches}
- rust-cargo-platform
ExclusiveArch: %{rust_arches}
- rust-cargo_metadata
ExclusiveArch: %{rust_arches}
- rust-cassowary
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cbindgen
ExclusiveArch: %{rust_arches}
- rust-cc
ExclusiveArch: %{rust_arches}
- rust-cexpr
ExclusiveArch: %{rust_arches}
- rust-cfg-if
ExclusiveArch: %{rust_arches}
- rust-chainerror
ExclusiveArch: %{rust_arches}
- rust-charset
ExclusiveArch: %{rust_arches}
- rust-chbs
ExclusiveArch: %{rust_arches}
- rust-checked_int_cast
ExclusiveArch: %{rust_arches}
- rust-chrono
ExclusiveArch: %{rust_arches}
- rust-chrono-humanize
ExclusiveArch: %{rust_arches}
- rust-chrono-tz
ExclusiveArch: %{rust_arches}
- rust-chunked_transfer
ExclusiveArch: %{rust_arches}
- rust-clang-sys
ExclusiveArch: %{rust_arches}
- rust-clap
ExclusiveArch: %{rust_arches}
- rust-clicolors-control
ExclusiveArch: %{rust_arches}
- rust-cmake
ExclusiveArch: %{rust_arches}
- rust-color_quant
ExclusiveArch: %{rust_arches}
- rust-colored
ExclusiveArch: %{rust_arches}
- rust-colored_json
ExclusiveArch: %{rust_arches}
- rust-compiletest_rs
ExclusiveArch: %{rust_arches}
- rust-comrak
ExclusiveArch: %{rust_arches}
- rust-config
ExclusiveArch: %{rust_arches}
- rust-console
ExclusiveArch: %{rust_arches}
- rust-const-random
ExclusiveArch: %{rust_arches}
- rust-const-random-macro
ExclusiveArch: %{rust_arches}
- rust-content_inspector
ExclusiveArch: %{rust_arches}
- rust-conv
ExclusiveArch: %{rust_arches}
- rust-cookie
ExclusiveArch: %{rust_arches}
- rust-cookie_store
ExclusiveArch: %{rust_arches}
- rust-copyless
ExclusiveArch: %{rust_arches}
- rust-coreos-installer
ExclusiveArch: %{rust_arches}
- rust-cpio
ExclusiveArch: %{rust_arches}
- rust-cpp_demangle
ExclusiveArch: %{rust_arches}
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc
ExclusiveArch: %{rust_arches}
- rust-crc-core
ExclusiveArch: %{rust_arches}
- rust-crc32fast
ExclusiveArch: %{rust_arches}
- rust-criterion
ExclusiveArch: %{rust_arches}
- rust-criterion-plot
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel0.3
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue0.1
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils0.6
ExclusiveArch: %{rust_arches}
- rust-crossterm
ExclusiveArch: %{rust_arches}
- rust-crypto-hash
ExclusiveArch: %{rust_arches}
- rust-crypto-mac
ExclusiveArch: %{rust_arches}
- rust-cryptovec
ExclusiveArch: %{rust_arches}
- rust-cssparser
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-csv
ExclusiveArch: %{rust_arches}
- rust-csv-core
ExclusiveArch: %{rust_arches}
- rust-ctrlc
ExclusiveArch: %{rust_arches}
- rust-curl
ExclusiveArch: %{rust_arches}
- rust-curl-sys
ExclusiveArch: %{rust_arches}
- rust-custom_derive
ExclusiveArch: %{rust_arches}
- rust-darling
ExclusiveArch: %{rust_arches}
- rust-darling_core
ExclusiveArch: %{rust_arches}
- rust-darling_macro
ExclusiveArch: %{rust_arches}
- rust-dashmap
ExclusiveArch: %{rust_arches}
- rust-data-encoding
ExclusiveArch: %{rust_arches}
- rust-data-url
ExclusiveArch: %{rust_arches}
- rust-datetime
ExclusiveArch: %{rust_arches}
- rust-dav1d-sys
ExclusiveArch: %{rust_arches}
- rust-dbus
ExclusiveArch: %{rust_arches}
- rust-dbus0.2
ExclusiveArch: %{rust_arches}
- rust-dbus0.6
ExclusiveArch: %{rust_arches}
- rust-decimal
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-defmac
ExclusiveArch: %{rust_arches}
- rust-delta_e
ExclusiveArch: %{rust_arches}
- rust-derive_builder
ExclusiveArch: %{rust_arches}
- rust-derive_builder_core
ExclusiveArch: %{rust_arches}
- rust-derive_more
ExclusiveArch: %{rust_arches}
- rust-deunicode
ExclusiveArch: %{rust_arches}
- rust-devicemapper
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difference
ExclusiveArch: %{rust_arches}
- rust-digest
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-dirs
ExclusiveArch: %{rust_arches}
- rust-dirs-sys
ExclusiveArch: %{rust_arches}
- rust-dissimilar
ExclusiveArch: %{rust_arches}
- rust-dns-parser
ExclusiveArch: %{rust_arches}
- rust-doc-comment
ExclusiveArch: %{rust_arches}
- rust-docmatic
ExclusiveArch: %{rust_arches}
- rust-docopt
ExclusiveArch: %{rust_arches}
- rust-downcast-rs
ExclusiveArch: %{rust_arches}
- rust-dtoa
ExclusiveArch: %{rust_arches}
- rust-dtoa-short
ExclusiveArch: %{rust_arches}
- rust-dua-cli
ExclusiveArch: %{rust_arches}
- rust-duct
ExclusiveArch: %{rust_arches}
- rust-dutree
ExclusiveArch: %{rust_arches}
- rust-edit-distance
ExclusiveArch: %{rust_arches}
- rust-either
ExclusiveArch: %{rust_arches}
- rust-elasticlunr-rs
ExclusiveArch: %{rust_arches}
- rust-encode_unicode
ExclusiveArch: %{rust_arches}
- rust-encoding
ExclusiveArch: %{rust_arches}
- rust-encoding-index-japanese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-korean
ExclusiveArch: %{rust_arches}
- rust-encoding-index-simpchinese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-singlebyte
ExclusiveArch: %{rust_arches}
- rust-encoding-index-tradchinese
ExclusiveArch: %{rust_arches}
- rust-encoding_index_tests
ExclusiveArch: %{rust_arches}
- rust-encoding_rs
ExclusiveArch: %{rust_arches}
- rust-encoding_rs_io
ExclusiveArch: %{rust_arches}
- rust-entities
ExclusiveArch: %{rust_arches}
- rust-enum-as-inner
ExclusiveArch: %{rust_arches}
- rust-enum_primitive
ExclusiveArch: %{rust_arches}
- rust-env_logger
ExclusiveArch: %{rust_arches}
- rust-env_logger0.4
ExclusiveArch: %{rust_arches}
- rust-env_logger0.5
ExclusiveArch: %{rust_arches}
- rust-env_logger0.6
ExclusiveArch: %{rust_arches}
- rust-envsubst
ExclusiveArch: %{rust_arches}
- rust-erased-serde
ExclusiveArch: %{rust_arches}
- rust-err-derive
ExclusiveArch: %{rust_arches}
- rust-errln
ExclusiveArch: %{rust_arches}
- rust-errno
ExclusiveArch: %{rust_arches}
- rust-error-chain
ExclusiveArch: %{rust_arches}
- rust-exa
ExclusiveArch: %{rust_arches}
- rust-extprim
ExclusiveArch: %{rust_arches}
- rust-extprim_literals_macros
ExclusiveArch: %{rust_arches}
- rust-fail
ExclusiveArch: %{rust_arches}
- rust-failure
ExclusiveArch: %{rust_arches}
- rust-failure-tools
ExclusiveArch: %{rust_arches}
- rust-failure_derive
ExclusiveArch: %{rust_arches}
- rust-fake-simd
ExclusiveArch: %{rust_arches}
- rust-fake_clock
ExclusiveArch: %{rust_arches}
- rust-fallible-iterator
ExclusiveArch: %{rust_arches}
- rust-fd-find
ExclusiveArch: %{rust_arches}
- rust-fedora
ExclusiveArch: %{rust_arches}
- rust-fedora-coreos-pinger
ExclusiveArch: %{rust_arches}
- rust-fern
ExclusiveArch: %{rust_arches}
- rust-ffsend
ExclusiveArch: %{rust_arches}
- rust-ffsend-api
ExclusiveArch: %{rust_arches}
- rust-filesize
ExclusiveArch: %{rust_arches}
- rust-filetime
ExclusiveArch: %{rust_arches}
- rust-findshlibs
ExclusiveArch: %{rust_arches}
- rust-fixedbitset
ExclusiveArch: %{rust_arches}
- rust-flame
ExclusiveArch: %{rust_arches}
- rust-flate2
ExclusiveArch: %{rust_arches}
- rust-float-cmp
ExclusiveArch: %{rust_arches}
- rust-float-ord
ExclusiveArch: %{rust_arches}
- rust-fnv
ExclusiveArch: %{rust_arches}
- rust-foreign-types
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared
ExclusiveArch: %{rust_arches}
- rust-fragile
ExclusiveArch: %{rust_arches}
- rust-fs2
ExclusiveArch: %{rust_arches}
- rust-fs_extra
ExclusiveArch: %{rust_arches}
- rust-fuse
ExclusiveArch: %{rust_arches}
- rust-futf
ExclusiveArch: %{rust_arches}
- rust-futures
ExclusiveArch: %{rust_arches}
- rust-futures-channel
ExclusiveArch: %{rust_arches}
- rust-futures-core
ExclusiveArch: %{rust_arches}
- rust-futures-cpupool
ExclusiveArch: %{rust_arches}
- rust-futures-executor
ExclusiveArch: %{rust_arches}
- rust-futures-io
ExclusiveArch: %{rust_arches}
- rust-futures-macro
ExclusiveArch: %{rust_arches}
- rust-futures-sink
ExclusiveArch: %{rust_arches}
- rust-futures-task
ExclusiveArch: %{rust_arches}
- rust-futures-timer
ExclusiveArch: %{rust_arches}
- rust-futures-util
ExclusiveArch: %{rust_arches}
- rust-futures0.1
ExclusiveArch: %{rust_arches}
- rust-fuzzy-matcher
ExclusiveArch: %{rust_arches}
- rust-fxhash
ExclusiveArch: %{rust_arches}
- rust-gcsf
ExclusiveArch: %{rust_arches}
- rust-gdk
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf-sys
ExclusiveArch: %{rust_arches}
- rust-gdk-sys
ExclusiveArch: %{rust_arches}
- rust-generic-array
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gethostname
ExclusiveArch: %{rust_arches}
- rust-getopts
ExclusiveArch: %{rust_arches}
- rust-getrandom
ExclusiveArch: %{rust_arches}
- rust-gettext-rs
ExclusiveArch: %{rust_arches}
- rust-gettext-sys
ExclusiveArch: %{rust_arches}
- rust-gif
ExclusiveArch: %{rust_arches}
- rust-gimli
ExclusiveArch: %{rust_arches}
- rust-gio
ExclusiveArch: %{rust_arches}
- rust-gio-sys
ExclusiveArch: %{rust_arches}
- rust-gir-format-check
ExclusiveArch: %{rust_arches}
- rust-git2
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-glib
ExclusiveArch: %{rust_arches}
- rust-glib-sys
ExclusiveArch: %{rust_arches}
- rust-glob
ExclusiveArch: %{rust_arches}
- rust-globset
ExclusiveArch: %{rust_arches}
- rust-globwalk
ExclusiveArch: %{rust_arches}
- rust-gobject-sys
ExclusiveArch: %{rust_arches}
- rust-goblin
ExclusiveArch: %{rust_arches}
- rust-google-drive3-fork
ExclusiveArch: %{rust_arches}
- rust-grep
ExclusiveArch: %{rust_arches}
- rust-grep-cli
ExclusiveArch: %{rust_arches}
- rust-grep-matcher
ExclusiveArch: %{rust_arches}
- rust-grep-pcre2
ExclusiveArch: %{rust_arches}
- rust-grep-printer
ExclusiveArch: %{rust_arches}
- rust-grep-regex
ExclusiveArch: %{rust_arches}
- rust-grep-searcher
ExclusiveArch: %{rust_arches}
- rust-groupable
ExclusiveArch: %{rust_arches}
- rust-gspell
ExclusiveArch: %{rust_arches}
- rust-gspell-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video-sys
ExclusiveArch: %{rust_arches}
- rust-gtk
ExclusiveArch: %{rust_arches}
- rust-gtk-rs-lgpl-docs
ExclusiveArch: %{rust_arches}
- rust-gtk-source-sys
ExclusiveArch: %{rust_arches}
- rust-gtk-sys
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-h2
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamcrest
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-hashbrown
ExclusiveArch: %{rust_arches}
- rust-hashbrown0.5
ExclusiveArch: %{rust_arches}
- rust-headers
ExclusiveArch: %{rust_arches}
- rust-headers-core
ExclusiveArch: %{rust_arches}
- rust-headers-derive
ExclusiveArch: %{rust_arches}
- rust-heapsize
ExclusiveArch: %{rust_arches}
- rust-heck
ExclusiveArch: %{rust_arches}
- rust-hex
ExclusiveArch: %{rust_arches}
- rust-hex-literal
ExclusiveArch: %{rust_arches}
- rust-hex-literal-impl
ExclusiveArch: %{rust_arches}
- rust-hexyl
ExclusiveArch: %{rust_arches}
- rust-hkdf
ExclusiveArch: %{rust_arches}
- rust-hmac
ExclusiveArch: %{rust_arches}
- rust-home
ExclusiveArch: %{rust_arches}
- rust-horrorshow
ExclusiveArch: %{rust_arches}
- rust-hostname
ExclusiveArch: %{rust_arches}
- rust-html2pango
ExclusiveArch: %{rust_arches}
- rust-html5ever
ExclusiveArch: %{rust_arches}
- rust-http
ExclusiveArch: %{rust_arches}
- rust-http-body
ExclusiveArch: %{rust_arches}
- rust-http0.1
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-humansize
ExclusiveArch: %{rust_arches}
- rust-humantime
ExclusiveArch: %{rust_arches}
- rust-humantime1
ExclusiveArch: %{rust_arches}
- rust-hyper
ExclusiveArch: %{rust_arches}
- rust-hyper-native-tls
ExclusiveArch: %{rust_arches}
- rust-hyper-staticfile
ExclusiveArch: %{rust_arches}
- rust-hyper-tls
ExclusiveArch: %{rust_arches}
- rust-hyper0.10
ExclusiveArch: %{rust_arches}
- rust-hyperfine
ExclusiveArch: %{rust_arches}
- rust-i3ipc
ExclusiveArch: %{rust_arches}
- rust-id_tree
ExclusiveArch: %{rust_arches}
- rust-ident_case
ExclusiveArch: %{rust_arches}
- rust-idna
ExclusiveArch: %{rust_arches}
- rust-idna0.1
ExclusiveArch: %{rust_arches}
- rust-ignore
ExclusiveArch: %{rust_arches}
- rust-im-rc
ExclusiveArch: %{rust_arches}
- rust-image
ExclusiveArch: %{rust_arches}
- rust-imgref
ExclusiveArch: %{rust_arches}
- rust-indexmap
ExclusiveArch: %{rust_arches}
- rust-indicatif
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-inotify
ExclusiveArch: %{rust_arches}
- rust-inotify-sys
ExclusiveArch: %{rust_arches}
- rust-input_buffer
ExclusiveArch: %{rust_arches}
- rust-interpolate_name
ExclusiveArch: %{rust_arches}
- rust-intervaltree
ExclusiveArch: %{rust_arches}
- rust-iovec
ExclusiveArch: %{rust_arches}
- rust-ipnet
ExclusiveArch: %{rust_arches}
- rust-ipnetwork
ExclusiveArch: %{rust_arches}
- rust-iron
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-iter-read
ExclusiveArch: %{rust_arches}
- rust-itertools
ExclusiveArch: %{rust_arches}
- rust-itertools-num
ExclusiveArch: %{rust_arches}
- rust-itertools0.8
ExclusiveArch: %{rust_arches}
- rust-itoa
ExclusiveArch: %{rust_arches}
- rust-ivf
ExclusiveArch: %{rust_arches}
- rust-jetscii
ExclusiveArch: %{rust_arches}
- rust-jobserver
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder
ExclusiveArch: %{rust_arches}
- rust-jql
ExclusiveArch: %{rust_arches}
- rust-json
ExclusiveArch: %{rust_arches}
- rust-jwalk
ExclusiveArch: %{rust_arches}
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kv-log-macro
ExclusiveArch: %{rust_arches}
- rust-lab
ExclusiveArch: %{rust_arches}
- rust-language-tags
ExclusiveArch: %{rust_arches}
- rust-lazy-init
ExclusiveArch: %{rust_arches}
- rust-lazy_static
ExclusiveArch: %{rust_arches}
- rust-lazycell
ExclusiveArch: %{rust_arches}
- rust-letter-avatar
ExclusiveArch: %{rust_arches}
- rust-lexical-core
ExclusiveArch: %{rust_arches}
- rust-libc
ExclusiveArch: %{rust_arches}
- rust-libdbus-sys
ExclusiveArch: %{rust_arches}
- rust-libflate
ExclusiveArch: %{rust_arches}
- rust-libgit2-sys
ExclusiveArch: %{rust_arches}
- rust-libhandy
ExclusiveArch: %{rust_arches}
- rust-libhandy-sys
ExclusiveArch: %{rust_arches}
- rust-libloading
ExclusiveArch: %{rust_arches}
- rust-libm
ExclusiveArch: %{rust_arches}
- rust-libmount
ExclusiveArch: %{rust_arches}
- rust-liboverdrop
ExclusiveArch: %{rust_arches}
- rust-libpulse-binding
ExclusiveArch: %{rust_arches}
- rust-libpulse-sys
ExclusiveArch: %{rust_arches}
- rust-libssh2-sys
ExclusiveArch: %{rust_arches}
- rust-libsystemd
ExclusiveArch: %{rust_arches}
- rust-libudev
ExclusiveArch: %{rust_arches}
- rust-libudev-sys
ExclusiveArch: %{rust_arches}
- rust-libz-sys
ExclusiveArch: %{rust_arches}
- rust-line-wrap
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-linkify
ExclusiveArch: %{rust_arches}
- rust-lipsum
ExclusiveArch: %{rust_arches}
- rust-liquid
ExclusiveArch: %{rust_arches}
- rust-liquid-core
ExclusiveArch: %{rust_arches}
- rust-liquid-derive
ExclusiveArch: %{rust_arches}
- rust-liquid-lib
ExclusiveArch: %{rust_arches}
- rust-listenfd
ExclusiveArch: %{rust_arches}
- rust-lmdb
ExclusiveArch: %{rust_arches}
- rust-lmdb-sys
ExclusiveArch: %{rust_arches}
- rust-locale
ExclusiveArch: %{rust_arches}
- rust-locale_config
ExclusiveArch: %{rust_arches}
- rust-lock_api
ExclusiveArch: %{rust_arches}
- rust-lockfree
ExclusiveArch: %{rust_arches}
- rust-log
ExclusiveArch: %{rust_arches}
- rust-log0.3
ExclusiveArch: %{rust_arches}
- rust-loggerv
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lru-cache
ExclusiveArch: %{rust_arches}
- rust-lru_time_cache
ExclusiveArch: %{rust_arches}
- rust-lscolors
ExclusiveArch: %{rust_arches}
- rust-lsd
ExclusiveArch: %{rust_arches}
- rust-lzma-sys
ExclusiveArch: %{rust_arches}
- rust-lzw
ExclusiveArch: %{rust_arches}
- rust-mac
ExclusiveArch: %{rust_arches}
- rust-macro-attr
ExclusiveArch: %{rust_arches}
- rust-maildir
ExclusiveArch: %{rust_arches}
- rust-mailparse
ExclusiveArch: %{rust_arches}
- rust-man
ExclusiveArch: %{rust_arches}
- rust-maplit
ExclusiveArch: %{rust_arches}
- rust-markup5ever
ExclusiveArch: %{rust_arches}
- rust-markup5ever_rcdom
ExclusiveArch: %{rust_arches}
- rust-match_cfg
ExclusiveArch: %{rust_arches}
- rust-matches
ExclusiveArch: %{rust_arches}
- rust-matrixmultiply
ExclusiveArch: %{rust_arches}
- rust-maxminddb
ExclusiveArch: %{rust_arches}
- rust-maybe-uninit
ExclusiveArch: %{rust_arches}
- rust-md-5
ExclusiveArch: %{rust_arches}
- rust-md5
ExclusiveArch: %{rust_arches}
- rust-mdl
ExclusiveArch: %{rust_arches}
- rust-memchr
ExclusiveArch: %{rust_arches}
- rust-memmap
ExclusiveArch: %{rust_arches}
- rust-memmap2
ExclusiveArch: %{rust_arches}
- rust-memoffset
ExclusiveArch: %{rust_arches}
- rust-metadeps
ExclusiveArch: %{rust_arches}
- rust-mime
ExclusiveArch: %{rust_arches}
- rust-mime-sniffer
ExclusiveArch: %{rust_arches}
- rust-mime0.2
ExclusiveArch: %{rust_arches}
- rust-mime_guess
ExclusiveArch: %{rust_arches}
- rust-mime_guess1
ExclusiveArch: %{rust_arches}
- rust-miniz-sys
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide_c_api
ExclusiveArch: %{rust_arches}
- rust-mint
ExclusiveArch: %{rust_arches}
- rust-mio
ExclusiveArch: %{rust_arches}
- rust-mio-extras
ExclusiveArch: %{rust_arches}
- rust-mio-uds
ExclusiveArch: %{rust_arches}
- rust-mktemp
ExclusiveArch: %{rust_arches}
- rust-mnt
ExclusiveArch: %{rust_arches}
- rust-mockito
ExclusiveArch: %{rust_arches}
- rust-modifier
ExclusiveArch: %{rust_arches}
- rust-muldiv
ExclusiveArch: %{rust_arches}
- rust-multimap
ExclusiveArch: %{rust_arches}
- rust-multipart
ExclusiveArch: %{rust_arches}
- rust-mustache
ExclusiveArch: %{rust_arches}
- rust-nalgebra
ExclusiveArch: %{rust_arches}
- rust-nasm-rs
ExclusiveArch: %{rust_arches}
- rust-native-tls
ExclusiveArch: %{rust_arches}
- rust-natord
ExclusiveArch: %{rust_arches}
- rust-net2
ExclusiveArch: %{rust_arches}
- rust-netmap_sys
ExclusiveArch: %{rust_arches}
- rust-new_debug_unreachable
ExclusiveArch: %{rust_arches}
- rust-newtype_derive
ExclusiveArch: %{rust_arches}
- rust-nickel
ExclusiveArch: %{rust_arches}
- rust-nix
ExclusiveArch: %{rust_arches}
- rust-nix0.14
ExclusiveArch: %{rust_arches}
- rust-no-panic
ExclusiveArch: %{rust_arches}
- rust-nodrop
ExclusiveArch: %{rust_arches}
- rust-nom
ExclusiveArch: %{rust_arches}
- rust-nom4
ExclusiveArch: %{rust_arches}
- rust-noop_proc_macro
ExclusiveArch: %{rust_arches}
- rust-normalize-line-endings
ExclusiveArch: %{rust_arches}
- rust-notify
ExclusiveArch: %{rust_arches}
- rust-num
ExclusiveArch: %{rust_arches}
- rust-num-bigint
ExclusiveArch: %{rust_arches}
- rust-num-complex
ExclusiveArch: %{rust_arches}
- rust-num-derive
ExclusiveArch: %{rust_arches}
- rust-num-integer
ExclusiveArch: %{rust_arches}
- rust-num-iter
ExclusiveArch: %{rust_arches}
- rust-num-rational
ExclusiveArch: %{rust_arches}
- rust-num-traits
ExclusiveArch: %{rust_arches}
- rust-num-traits0.1
ExclusiveArch: %{rust_arches}
- rust-num_cpus
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-numtoa
ExclusiveArch: %{rust_arches}
- rust-object
ExclusiveArch: %{rust_arches}
- rust-odds
ExclusiveArch: %{rust_arches}
- rust-once_cell
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-onig_sys
ExclusiveArch: %{rust_arches}
- rust-oorandom
ExclusiveArch: %{rust_arches}
- rust-opaque-debug
ExclusiveArch: %{rust_arches}
- rust-open
ExclusiveArch: %{rust_arches}
- rust-opener
ExclusiveArch: %{rust_arches}
- rust-openssh-keys
ExclusiveArch: %{rust_arches}
- rust-openssl
ExclusiveArch: %{rust_arches}
- rust-openssl-probe
ExclusiveArch: %{rust_arches}
- rust-openssl-sys
ExclusiveArch: %{rust_arches}
- rust-ord_subset
ExclusiveArch: %{rust_arches}
- rust-ordered-float
ExclusiveArch: %{rust_arches}
- rust-os_info
ExclusiveArch: %{rust_arches}
- rust-os_pipe
ExclusiveArch: %{rust_arches}
- rust-osstrtools
ExclusiveArch: %{rust_arches}
- rust-owned-alloc
ExclusiveArch: %{rust_arches}
- rust-owning_ref
ExclusiveArch: %{rust_arches}
- rust-packaging
ExclusiveArch: %{rust_arches}
- rust-pad
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-pango
ExclusiveArch: %{rust_arches}
- rust-pango-sys
ExclusiveArch: %{rust_arches}
- rust-pangocairo
ExclusiveArch: %{rust_arches}
- rust-pangocairo-sys
ExclusiveArch: %{rust_arches}
- rust-parity-wasm
ExclusiveArch: %{rust_arches}
- rust-parking_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot_core
ExclusiveArch: %{rust_arches}
- rust-parse-zoneinfo
ExclusiveArch: %{rust_arches}
- rust-partial-io
ExclusiveArch: %{rust_arches}
- rust-paste
ExclusiveArch: %{rust_arches}
- rust-paste-impl
ExclusiveArch: %{rust_arches}
- rust-path-slash
ExclusiveArch: %{rust_arches}
- rust-pathdiff
ExclusiveArch: %{rust_arches}
- rust-pbr
ExclusiveArch: %{rust_arches}
- rust-pcap
ExclusiveArch: %{rust_arches}
- rust-pcre2
ExclusiveArch: %{rust_arches}
- rust-pcre2-sys
ExclusiveArch: %{rust_arches}
- rust-peeking_take_while
ExclusiveArch: %{rust_arches}
- rust-peg
ExclusiveArch: %{rust_arches}
- rust-percent-encoding
ExclusiveArch: %{rust_arches}
- rust-percent-encoding1
ExclusiveArch: %{rust_arches}
- rust-permutate
ExclusiveArch: %{rust_arches}
- rust-permutohedron
ExclusiveArch: %{rust_arches}
- rust-pest
ExclusiveArch: %{rust_arches}
- rust-pest_derive
ExclusiveArch: %{rust_arches}
- rust-pest_generator
ExclusiveArch: %{rust_arches}
- rust-pest_meta
ExclusiveArch: %{rust_arches}
- rust-petgraph
ExclusiveArch: %{rust_arches}
- rust-phf
ExclusiveArch: %{rust_arches}
- rust-phf0.7
ExclusiveArch: %{rust_arches}
- rust-phf_codegen
ExclusiveArch: %{rust_arches}
- rust-phf_codegen0.7
ExclusiveArch: %{rust_arches}
- rust-phf_generator
ExclusiveArch: %{rust_arches}
- rust-phf_generator0.7
ExclusiveArch: %{rust_arches}
- rust-phf_macros
ExclusiveArch: %{rust_arches}
- rust-phf_macros0.7
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-phf_shared0.7
ExclusiveArch: %{rust_arches}
- rust-pico-args
ExclusiveArch: %{rust_arches}
- rust-pin-project
ExclusiveArch: %{rust_arches}
- rust-pin-project-internal
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite
ExclusiveArch: %{rust_arches}
- rust-pin-utils
ExclusiveArch: %{rust_arches}
- rust-pkg-config
ExclusiveArch: %{rust_arches}
- rust-plain
ExclusiveArch: %{rust_arches}
- rust-platform-dirs
ExclusiveArch: %{rust_arches}
- rust-platforms
ExclusiveArch: %{rust_arches}
- rust-plist
ExclusiveArch: %{rust_arches}
- rust-plugin
ExclusiveArch: %{rust_arches}
- rust-pnet_base
ExclusiveArch: %{rust_arches}
- rust-pnet_datalink
ExclusiveArch: %{rust_arches}
- rust-pnet_sys
ExclusiveArch: %{rust_arches}
- rust-png
ExclusiveArch: %{rust_arches}
- rust-ppv-lite86
ExclusiveArch: %{rust_arches}
- rust-precomputed-hash
ExclusiveArch: %{rust_arches}
- rust-predicates-core
ExclusiveArch: %{rust_arches}
- rust-predicates-tree
ExclusiveArch: %{rust_arches}
- rust-pretty-git-prompt
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_env_logger
ExclusiveArch: %{rust_arches}
- rust-prettytable-rs
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error-attr
ExclusiveArch: %{rust_arches}
- rust-proc-macro-hack
ExclusiveArch: %{rust_arches}
- rust-proc-macro-nested
ExclusiveArch: %{rust_arches}
- rust-proc-macro2
ExclusiveArch: %{rust_arches}
- rust-proc-macro2-0.4
ExclusiveArch: %{rust_arches}
- rust-proc-quote
ExclusiveArch: %{rust_arches}
- rust-proc-quote-impl
ExclusiveArch: %{rust_arches}
- rust-procedural-masquerade
ExclusiveArch: %{rust_arches}
- rust-process_path
ExclusiveArch: %{rust_arches}
- rust-procfs
ExclusiveArch: %{rust_arches}
- rust-procs
ExclusiveArch: %{rust_arches}
- rust-progress-streams
ExclusiveArch: %{rust_arches}
- rust-prometheus
ExclusiveArch: %{rust_arches}
- rust-proptest
ExclusiveArch: %{rust_arches}
- rust-proptest-derive
ExclusiveArch: %{rust_arches}
- rust-protobuf
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen
ExclusiveArch: %{rust_arches}
- rust-protoc
ExclusiveArch: %{rust_arches}
- rust-protoc-rust
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-psutil
ExclusiveArch: %{rust_arches}
- rust-publicsuffix
ExclusiveArch: %{rust_arches}
- rust-pulldown-cmark
ExclusiveArch: %{rust_arches}
- rust-pulse
ExclusiveArch: %{rust_arches}
- rust-qr2term
ExclusiveArch: %{rust_arches}
- rust-qrcode
ExclusiveArch: %{rust_arches}
- rust-quick-error
ExclusiveArch: %{rust_arches}
- rust-quickcheck
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.6
ExclusiveArch: %{rust_arches}
- rust-quickcheck_macros
ExclusiveArch: %{rust_arches}
- rust-quickersort
ExclusiveArch: %{rust_arches}
- rust-quote
ExclusiveArch: %{rust_arches}
- rust-quote0.3
ExclusiveArch: %{rust_arches}
- rust-quote0.6
ExclusiveArch: %{rust_arches}
- rust-quoted_printable
ExclusiveArch: %{rust_arches}
- rust-rand
ExclusiveArch: %{rust_arches}
- rust-rand0.4
ExclusiveArch: %{rust_arches}
- rust-rand0.5
ExclusiveArch: %{rust_arches}
- rust-rand0.6
ExclusiveArch: %{rust_arches}
- rust-rand_chacha
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.1
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-rand_core0.3
ExclusiveArch: %{rust_arches}
- rust-rand_core0.4
ExclusiveArch: %{rust_arches}
- rust-rand_distr
ExclusiveArch: %{rust_arches}
- rust-rand_hc
ExclusiveArch: %{rust_arches}
- rust-rand_hc0.1
ExclusiveArch: %{rust_arches}
- rust-rand_isaac
ExclusiveArch: %{rust_arches}
- rust-rand_isaac0.1
ExclusiveArch: %{rust_arches}
- rust-rand_jitter
ExclusiveArch: %{rust_arches}
- rust-rand_jitter0.1
ExclusiveArch: %{rust_arches}
- rust-rand_os
ExclusiveArch: %{rust_arches}
- rust-rand_os0.1
ExclusiveArch: %{rust_arches}
- rust-rand_pcg
ExclusiveArch: %{rust_arches}
- rust-rand_pcg0.1
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift0.1
ExclusiveArch: %{rust_arches}
- rust-rand_xoshiro
ExclusiveArch: %{rust_arches}
- rust-random-fast-rng
ExclusiveArch: %{rust_arches}
- rust-random-trait
ExclusiveArch: %{rust_arches}
- rust-randomize
ExclusiveArch: %{rust_arches}
- rust-rav1e
ExclusiveArch: %{rust_arches}
- rust-rawpointer
ExclusiveArch: %{rust_arches}
- rust-rawslice
ExclusiveArch: %{rust_arches}
- rust-rayon
ExclusiveArch: %{rust_arches}
- rust-rayon-core
ExclusiveArch: %{rust_arches}
- rust-recycler
ExclusiveArch: %{rust_arches}
- rust-regex
ExclusiveArch: %{rust_arches}
- rust-regex-automata
ExclusiveArch: %{rust_arches}
- rust-regex-syntax
ExclusiveArch: %{rust_arches}
- rust-region
ExclusiveArch: %{rust_arches}
- rust-relay
ExclusiveArch: %{rust_arches}
- rust-remove_dir_all
ExclusiveArch: %{rust_arches}
- rust-reqwest
ExclusiveArch: %{rust_arches}
- rust-resize
ExclusiveArch: %{rust_arches}
- rust-resolv-conf
ExclusiveArch: %{rust_arches}
- rust-restson
ExclusiveArch: %{rust_arches}
- rust-retry
ExclusiveArch: %{rust_arches}
- rust-rgb
ExclusiveArch: %{rust_arches}
- rust-ripgrep
ExclusiveArch: %{rust_arches}
- rust-rle-decode-fast
ExclusiveArch: %{rust_arches}
- rust-rmp
ExclusiveArch: %{rust_arches}
- rust-rmp-serde
ExclusiveArch: %{rust_arches}
- rust-roff
ExclusiveArch: %{rust_arches}
- rust-ron
ExclusiveArch: %{rust_arches}
- rust-rpassword
ExclusiveArch: %{rust_arches}
- rust-rpick
ExclusiveArch: %{rust_arches}
- rust-rust-ini
ExclusiveArch: %{rust_arches}
- rust-rust-stemmers
ExclusiveArch: %{rust_arches}
- rust-rust_decimal
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_normal_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_proc_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_sys
ExclusiveArch: %{rust_arches}
- rust-rustc-demangle
ExclusiveArch: %{rust_arches}
- rust-rustc-hash
ExclusiveArch: %{rust_arches}
- rust-rustc-serialize
ExclusiveArch: %{rust_arches}
- rust-rustc-test
ExclusiveArch: %{rust_arches}
- rust-rustc_version
ExclusiveArch: %{rust_arches}
- rust-rustdoc-stripper
ExclusiveArch: %{rust_arches}
- rust-rustfilt
ExclusiveArch: %{rust_arches}
- rust-rustfix
ExclusiveArch: %{rust_arches}
- rust-rustio
ExclusiveArch: %{rust_arches}
- rust-rustversion
ExclusiveArch: %{rust_arches}
- rust-rusty-fork
ExclusiveArch: %{rust_arches}
- rust-rustyline
ExclusiveArch: %{rust_arches}
- rust-rustyline-derive
ExclusiveArch: %{rust_arches}
- rust-ryu
ExclusiveArch: %{rust_arches}
- rust-safe-transmute
ExclusiveArch: %{rust_arches}
- rust-safemem
ExclusiveArch: %{rust_arches}
- rust-same-file
ExclusiveArch: %{rust_arches}
- rust-sass-rs
ExclusiveArch: %{rust_arches}
- rust-sass-sys
ExclusiveArch: %{rust_arches}
- rust-scan_fmt
ExclusiveArch: %{rust_arches}
- rust-scoped-tls
ExclusiveArch: %{rust_arches}
- rust-scoped_threadpool
ExclusiveArch: %{rust_arches}
- rust-scopeguard
ExclusiveArch: %{rust_arches}
- rust-scroll
ExclusiveArch: %{rust_arches}
- rust-scroll_derive
ExclusiveArch: %{rust_arches}
- rust-sd
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-secret-service
ExclusiveArch: %{rust_arches}
- rust-semver
ExclusiveArch: %{rust_arches}
- rust-semver-parser
ExclusiveArch: %{rust_arches}
- rust-semver-parser0.7
ExclusiveArch: %{rust_arches}
- rust-serde
ExclusiveArch: %{rust_arches}
- rust-serde-big-array
ExclusiveArch: %{rust_arches}
- rust-serde-pickle
ExclusiveArch: %{rust_arches}
- rust-serde-xml-rs
ExclusiveArch: %{rust_arches}
- rust-serde_bytes
ExclusiveArch: %{rust_arches}
- rust-serde_cbor
ExclusiveArch: %{rust_arches}
- rust-serde_derive
ExclusiveArch: %{rust_arches}
- rust-serde_ignored
ExclusiveArch: %{rust_arches}
- rust-serde_json
ExclusiveArch: %{rust_arches}
- rust-serde_repr
ExclusiveArch: %{rust_arches}
- rust-serde_stacker
ExclusiveArch: %{rust_arches}
- rust-serde_test
ExclusiveArch: %{rust_arches}
- rust-serde_url_params
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded
ExclusiveArch: %{rust_arches}
- rust-serde_with_macros
ExclusiveArch: %{rust_arches}
- rust-serde_yaml
ExclusiveArch: %{rust_arches}
- rust-sha-1
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-sha2
ExclusiveArch: %{rust_arches}
- rust-shared_child
ExclusiveArch: %{rust_arches}
- rust-shell-escape
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-signal-hook
ExclusiveArch: %{rust_arches}
- rust-signal-hook-registry
ExclusiveArch: %{rust_arches}
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-simd_helpers
ExclusiveArch: %{rust_arches}
- rust-simple_logger
ExclusiveArch: %{rust_arches}
- rust-simplelog
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-size
ExclusiveArch: %{rust_arches}
- rust-sized-chunks
ExclusiveArch: %{rust_arches}
- rust-skeptic
ExclusiveArch: %{rust_arches}
- rust-skim
ExclusiveArch: %{rust_arches}
- rust-slab
ExclusiveArch: %{rust_arches}
- rust-slice-deque
ExclusiveArch: %{rust_arches}
- rust-slog
ExclusiveArch: %{rust_arches}
- rust-slog-async
ExclusiveArch: %{rust_arches}
- rust-slog-scope
ExclusiveArch: %{rust_arches}
- rust-slog-term
ExclusiveArch: %{rust_arches}
- rust-slotmap
ExclusiveArch: %{rust_arches}
- rust-slug
ExclusiveArch: %{rust_arches}
- rust-sluice
ExclusiveArch: %{rust_arches}
- rust-smallvec
ExclusiveArch: %{rust_arches}
- rust-smallvec0.6
ExclusiveArch: %{rust_arches}
- rust-smart-default
ExclusiveArch: %{rust_arches}
- rust-snafu
ExclusiveArch: %{rust_arches}
- rust-snafu-derive
ExclusiveArch: %{rust_arches}
- rust-snowflake
ExclusiveArch: %{rust_arches}
- rust-socket2
ExclusiveArch: %{rust_arches}
- rust-sourceview
ExclusiveArch: %{rust_arches}
- rust-spin
ExclusiveArch: %{rust_arches}
- rust-spmc
ExclusiveArch: %{rust_arches}
- rust-stable_deref_trait
ExclusiveArch: %{rust_arches}
- rust-stacker
ExclusiveArch: %{rust_arches}
- rust-starship
ExclusiveArch: %{rust_arches}
- rust-starship_module_config_derive
ExclusiveArch: %{rust_arches}
- rust-static_assertions
ExclusiveArch: %{rust_arches}
- rust-statistical
ExclusiveArch: %{rust_arches}
- rust-stb_truetype
ExclusiveArch: %{rust_arches}
- rust-stream-cipher
ExclusiveArch: %{rust_arches}
- rust-streaming-stats
ExclusiveArch: %{rust_arches}
- rust-string
ExclusiveArch: %{rust_arches}
- rust-string_cache
ExclusiveArch: %{rust_arches}
- rust-string_cache_codegen
ExclusiveArch: %{rust_arches}
- rust-string_cache_shared
ExclusiveArch: %{rust_arches}
- rust-strings
ExclusiveArch: %{rust_arches}
- rust-strip-ansi-escapes
ExclusiveArch: %{rust_arches}
- rust-strsim
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-structopt-derive
ExclusiveArch: %{rust_arches}
- rust-structopt-derive0.2
ExclusiveArch: %{rust_arches}
- rust-structopt0.2
ExclusiveArch: %{rust_arches}
- rust-strum
ExclusiveArch: %{rust_arches}
- rust-strum_macros
ExclusiveArch: %{rust_arches}
- rust-subtle
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin-sys
ExclusiveArch: %{rust_arches}
- rust-sval
ExclusiveArch: %{rust_arches}
- rust-sval_derive
ExclusiveArch: %{rust_arches}
- rust-syn
ExclusiveArch: %{rust_arches}
- rust-syn-mid
ExclusiveArch: %{rust_arches}
- rust-syn0.15
ExclusiveArch: %{rust_arches}
- rust-synom
ExclusiveArch: %{rust_arches}
- rust-synstructure
ExclusiveArch: %{rust_arches}
- rust-syntect
ExclusiveArch: %{rust_arches}
- rust-sys-info
ExclusiveArch: %{rust_arches}
- rust-sysinfo
ExclusiveArch: %{rust_arches}
- rust-tabwriter
ExclusiveArch: %{rust_arches}
- rust-take
ExclusiveArch: %{rust_arches}
- rust-take_mut
ExclusiveArch: %{rust_arches}
- rust-tar
ExclusiveArch: %{rust_arches}
- rust-target-lexicon
ExclusiveArch: %{rust_arches}
- rust-tealdeer
ExclusiveArch: %{rust_arches}
- rust-teloxide
ExclusiveArch: %{rust_arches}
- rust-teloxide-macros
ExclusiveArch: %{rust_arches}
- rust-tempdir
ExclusiveArch: %{rust_arches}
- rust-tempfile
ExclusiveArch: %{rust_arches}
- rust-tendril
ExclusiveArch: %{rust_arches}
- rust-tera
ExclusiveArch: %{rust_arches}
- rust-term
ExclusiveArch: %{rust_arches}
- rust-term_grid
ExclusiveArch: %{rust_arches}
- rust-term_size
ExclusiveArch: %{rust_arches}
- rust-termcolor
ExclusiveArch: %{rust_arches}
- rust-terminal_size
ExclusiveArch: %{rust_arches}
- rust-terminfo
ExclusiveArch: %{rust_arches}
- rust-termion
ExclusiveArch: %{rust_arches}
- rust-termios
ExclusiveArch: %{rust_arches}
- rust-test-assembler
ExclusiveArch: %{rust_arches}
- rust-tester
ExclusiveArch: %{rust_arches}
- rust-textwrap
ExclusiveArch: %{rust_arches}
- rust-thiserror
ExclusiveArch: %{rust_arches}
- rust-thiserror-impl
ExclusiveArch: %{rust_arches}
- rust-thread-id
ExclusiveArch: %{rust_arches}
- rust-thread-scoped
ExclusiveArch: %{rust_arches}
- rust-thread_local
ExclusiveArch: %{rust_arches}
- rust-threadpool
ExclusiveArch: %{rust_arches}
- rust-tiff
ExclusiveArch: %{rust_arches}
- rust-time
ExclusiveArch: %{rust_arches}
- rust-time-macros
ExclusiveArch: %{rust_arches}
- rust-time-macros-impl
ExclusiveArch: %{rust_arches}
- rust-time0.1
ExclusiveArch: %{rust_arches}
- rust-timebomb
ExclusiveArch: %{rust_arches}
- rust-timer
ExclusiveArch: %{rust_arches}
- rust-timerfd
ExclusiveArch: %{rust_arches}
- rust-tiny_http
ExclusiveArch: %{rust_arches}
- rust-tinytemplate
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio
ExclusiveArch: %{rust_arches}
- rust-tokio-async-await
ExclusiveArch: %{rust_arches}
- rust-tokio-buf
ExclusiveArch: %{rust_arches}
- rust-tokio-codec
ExclusiveArch: %{rust_arches}
- rust-tokio-core
ExclusiveArch: %{rust_arches}
- rust-tokio-current-thread
ExclusiveArch: %{rust_arches}
- rust-tokio-executor
ExclusiveArch: %{rust_arches}
- rust-tokio-fs
ExclusiveArch: %{rust_arches}
- rust-tokio-io
ExclusiveArch: %{rust_arches}
- rust-tokio-io-pool
ExclusiveArch: %{rust_arches}
- rust-tokio-macros
ExclusiveArch: %{rust_arches}
- rust-tokio-mock-task
ExclusiveArch: %{rust_arches}
- rust-tokio-mockstream
ExclusiveArch: %{rust_arches}
- rust-tokio-openssl
ExclusiveArch: %{rust_arches}
- rust-tokio-process
ExclusiveArch: %{rust_arches}
- rust-tokio-reactor
ExclusiveArch: %{rust_arches}
- rust-tokio-service
ExclusiveArch: %{rust_arches}
- rust-tokio-signal
ExclusiveArch: %{rust_arches}
- rust-tokio-sync
ExclusiveArch: %{rust_arches}
- rust-tokio-tcp
ExclusiveArch: %{rust_arches}
- rust-tokio-test
ExclusiveArch: %{rust_arches}
- rust-tokio-threadpool
ExclusiveArch: %{rust_arches}
- rust-tokio-timer
ExclusiveArch: %{rust_arches}
- rust-tokio-tls
ExclusiveArch: %{rust_arches}
- rust-tokio-tls0.2
ExclusiveArch: %{rust_arches}
- rust-tokio-trace-core
ExclusiveArch: %{rust_arches}
- rust-tokio-tungstenite
ExclusiveArch: %{rust_arches}
- rust-tokio-udp
ExclusiveArch: %{rust_arches}
- rust-tokio-uds
ExclusiveArch: %{rust_arches}
- rust-tokio-util
ExclusiveArch: %{rust_arches}
- rust-tokio0.1
ExclusiveArch: %{rust_arches}
- rust-toml
ExclusiveArch: %{rust_arches}
- rust-toml0.4
ExclusiveArch: %{rust_arches}
- rust-tower-layer
ExclusiveArch: %{rust_arches}
- rust-tower-service
ExclusiveArch: %{rust_arches}
- rust-tower-test
ExclusiveArch: %{rust_arches}
- rust-tower-util
ExclusiveArch: %{rust_arches}
- rust-traitobject
ExclusiveArch: %{rust_arches}
- rust-treebitmap
ExclusiveArch: %{rust_arches}
- rust-treeline
ExclusiveArch: %{rust_arches}
- rust-trust-dns-native-tls
ExclusiveArch: %{rust_arches}
- rust-trust-dns-openssl
ExclusiveArch: %{rust_arches}
- rust-trust-dns-proto
ExclusiveArch: %{rust_arches}
- rust-trust-dns-resolver
ExclusiveArch: %{rust_arches}
- rust-try-lock
ExclusiveArch: %{rust_arches}
- rust-try_from
ExclusiveArch: %{rust_arches}
- rust-try_or
ExclusiveArch: %{rust_arches}
- rust-trybuild
ExclusiveArch: %{rust_arches}
- rust-tui
ExclusiveArch: %{rust_arches}
- rust-tui-react
ExclusiveArch: %{rust_arches}
- rust-tuikit
ExclusiveArch: %{rust_arches}
- rust-tungstenite
ExclusiveArch: %{rust_arches}
- rust-twoway
ExclusiveArch: %{rust_arches}
- rust-typeable
ExclusiveArch: %{rust_arches}
- rust-typed-arena
ExclusiveArch: %{rust_arches}
- rust-typemap
ExclusiveArch: %{rust_arches}
- rust-typenum
ExclusiveArch: %{rust_arches}
- rust-ucd-parse
ExclusiveArch: %{rust_arches}
- rust-ucd-trie
ExclusiveArch: %{rust_arches}
- rust-ucd-util
ExclusiveArch: %{rust_arches}
- rust-unchecked-index
ExclusiveArch: %{rust_arches}
- rust-unescape
ExclusiveArch: %{rust_arches}
- rust-unic-char-property
ExclusiveArch: %{rust_arches}
- rust-unic-char-range
ExclusiveArch: %{rust_arches}
- rust-unic-common
ExclusiveArch: %{rust_arches}
- rust-unic-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-category
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-common
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-version
ExclusiveArch: %{rust_arches}
- rust-unicase
ExclusiveArch: %{rust_arches}
- rust-unicase1
ExclusiveArch: %{rust_arches}
- rust-unicode-bidi
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-segmentation
ExclusiveArch: %{rust_arches}
- rust-unicode-width
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-unicode-xid0.1
ExclusiveArch: %{rust_arches}
- rust-unicode_categories
ExclusiveArch: %{rust_arches}
- rust-unindent
ExclusiveArch: %{rust_arches}
- rust-unix_socket
ExclusiveArch: %{rust_arches}
- rust-unreachable
ExclusiveArch: %{rust_arches}
- rust-unsafe-any
ExclusiveArch: %{rust_arches}
- rust-untrusted
ExclusiveArch: %{rust_arches}
- rust-uom
ExclusiveArch: %{rust_arches}
- rust-url
ExclusiveArch: %{rust_arches}
- rust-url1
ExclusiveArch: %{rust_arches}
- rust-url_serde
ExclusiveArch: %{rust_arches}
- rust-urlencoding
ExclusiveArch: %{rust_arches}
- rust-urlshortener
ExclusiveArch: %{rust_arches}
- rust-users
ExclusiveArch: %{rust_arches}
- rust-utf-8
ExclusiveArch: %{rust_arches}
- rust-utf8-ranges
ExclusiveArch: %{rust_arches}
- rust-utf8parse
ExclusiveArch: %{rust_arches}
- rust-uuid
ExclusiveArch: %{rust_arches}
- rust-uuid0.6
ExclusiveArch: %{rust_arches}
- rust-uuid0.7
ExclusiveArch: %{rust_arches}
- rust-v_escape
ExclusiveArch: %{rust_arches}
- rust-v_escape_derive
ExclusiveArch: %{rust_arches}
- rust-v_htmlescape
ExclusiveArch: %{rust_arches}
- rust-varlink
ExclusiveArch: %{rust_arches}
- rust-varlink-cli
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-varlink_stdinterfaces
ExclusiveArch: %{rust_arches}
- rust-vec_map
ExclusiveArch: %{rust_arches}
- rust-vergen
ExclusiveArch: %{rust_arches}
- rust-version-compare
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-void
ExclusiveArch: %{rust_arches}
- rust-vte
ExclusiveArch: %{rust_arches}
- rust-wait-timeout
ExclusiveArch: %{rust_arches}
- rust-walkdir
ExclusiveArch: %{rust_arches}
- rust-want
ExclusiveArch: %{rust_arches}
- rust-warp
ExclusiveArch: %{rust_arches}
- rust-websocket
ExclusiveArch: %{rust_arches}
- rust-websocket-base
ExclusiveArch: %{rust_arches}
- rust-which
ExclusiveArch: %{rust_arches}
- rust-which1
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-ws
ExclusiveArch: %{rust_arches}
- rust-x11
ExclusiveArch: %{rust_arches}
- rust-xattr
ExclusiveArch: %{rust_arches}
- rust-xdg
ExclusiveArch: %{rust_arches}
- rust-xml-rs
ExclusiveArch: %{rust_arches}
- rust-xml5ever
ExclusiveArch: %{rust_arches}
- rust-xz2
ExclusiveArch: %{rust_arches}
- rust-y4m
ExclusiveArch: %{rust_arches}
- rust-yaml-rust
ExclusiveArch: %{rust_arches}
- rust-yaml-rust0.3
ExclusiveArch: %{rust_arches}
- rust-ybaas
ExclusiveArch: %{rust_arches}
- rust-yubibomb
ExclusiveArch: %{rust_arches}
- rust-yup-oauth2
ExclusiveArch: %{rust_arches}
- rust-zincati
ExclusiveArch: %{rust_arches}
- rust-zoneinfo_compiled
ExclusiveArch: %{rust_arches}
- rust-zram-generator
ExclusiveArch: %{rust_arches}
- rust-zstd
ExclusiveArch: %{rust_arches}
- rust-zstd-safe
ExclusiveArch: %{rust_arches}
- rust-zstd-sys
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- sagemath
ExclusiveArch: aarch64 %{ix86} x86_64 ppc sparcv9
- sbcl
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- seabios
ExclusiveArch: x86_64
- seamonkey
ExclusiveArch: x86_64
- servicelog
ExclusiveArch: ppc %{power64}
- sgabios
ExclusiveArch: %{ix86} x86_64
- sharpfont
ExclusiveArch: %mono_arches
- sharpziplib
ExclusiveArch: %{mono_arches}
- shim
ExclusiveArch: %{efi}
- shim-unsigned-aarch64
ExclusiveArch: aarch64
- shim-unsigned-x64
ExclusiveArch: x86_64
- sigul
ExclusiveArch: x86_64
- skychart
ExclusiveArch: %{fpc_arches}
- snapd
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- soup-sharp
ExclusiveArch: %{mono_arches}
- source-to-image
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- springlobby
ExclusiveArch: %{ix86} x86_64
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- stratis-cli
ExclusiveArch: %{rust_arches} noarch
- stratisd
ExclusiveArch: %{rust_arches}
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- supercollider
ExclusiveArch: %{qt5_qtwebengine_arches}
- supermin
ExclusiveArch: x86_64
- svt-av1
ExclusiveArch: x86_64
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tarantool
ExclusiveArch: %{ix86} x86_64
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: x86_64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- termy-qt
ExclusiveArch: %{ix86} x86_64
- ternimal
ExclusiveArch: %{rust_arches}
- themonospot-base
ExclusiveArch: %mono_arches
- themonospot-console
ExclusiveArch: %mono_arches
- themonospot-gui-gtk
ExclusiveArch: %mono_arches
- themonospot-plugin-avi
ExclusiveArch: %mono_arches
- themonospot-plugin-mkv
ExclusiveArch: %mono_arches
- thermald
ExclusiveArch: %{ix86} x86_64
- tilix
ExclusiveArch: %{ldc_arches}
- tmux-top
ExclusiveArch: %{go_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- toolbox
ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- ugene
ExclusiveArch: %{ix86} x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- uglify-js1
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- unetbootin
ExclusiveArch: %{ix86} x86_64
- ursa-major
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- valgrind
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vapoursynth
ExclusiveArch: %{ix86} x86_64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- virt-p2v
ExclusiveArch: x86_64
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- virtualplanet
ExclusiveArch: %{fpc_arches}
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vmaf
ExclusiveArch: x86_64
- vmem
ExclusiveArch: x86_64
- vmemcache
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- vrq
ExclusiveArch: %{ix86} x86_64
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- webkit2-sharp
ExclusiveArch: %mono_arches
- wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: %{ix86} %{arm}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: %{ix86} x86_64 armv7hl aarch64
- xmlada
ExclusiveArch: %{GPRbuild_arches}
- xorg-x11-drv-armsoc
ExclusiveArch: %{arm} aarch64
- xorg-x11-drv-intel
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-openchrome
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vesa
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vmware
ExclusiveArch: %{ix86} x86_64 ia64
- xsp
ExclusiveArch: %mono_arches
- ycssmin
ExclusiveArch: %{nodejs_arches} noarch
- ytop
ExclusiveArch: %{rust_arches}
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zola
ExclusiveArch: %{rust_arches}
4 years, 2 months
Architecture specific change in rpms/ocaml-zmq.git
by githook-noreply@fedoraproject.org
The package rpms/ocaml-zmq.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/ocaml-zmq.git/commit/?id=8eb6068e....
Change:
+%ifarch %{ocaml_native_compiler}
Thanks.
Full change:
============
commit 8eb6068e9ba4980e86426bd3e3aedb7773281fc4
Author: Jerry James <loganjerry(a)gmail.com>
Date: Sun Mar 22 14:25:15 2020 -0600
Initial import.
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..09121a3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/zmq-*.tbz
diff --git a/ocaml-zmq.rpmlintrc b/ocaml-zmq.rpmlintrc
new file mode 100644
index 0000000..3f9b541
--- /dev/null
+++ b/ocaml-zmq.rpmlintrc
@@ -0,0 +1,5 @@
+# THIS FILE IS FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON
+# https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_...
+
+# Documentation is in the -doc subpackage
+addFilter(r'ocaml-zmq(-lwt)?(-devel)?\.[^:]+: W: no-documentation')
diff --git a/ocaml-zmq.spec b/ocaml-zmq.spec
new file mode 100644
index 0000000..624e809
--- /dev/null
+++ b/ocaml-zmq.spec
@@ -0,0 +1,158 @@
+%ifnarch %{ocaml_native_compiler}
+%global debug_package %{nil}
+%endif
+
+%global srcname zmq
+
+Name: ocaml-%{srcname}
+Version: 5.1.3
+Release: 1%{?dist}
+Summary: ZeroMQ bindings for OCaml
+
+License: MIT
+URL: https://github.com/issuu/%{name}
+Source0: %{url}/releases/download/%{version}/%{srcname}-%{version}.tbz
+
+BuildRequires: libev-devel
+BuildRequires: ocaml >= 4.03.0
+BuildRequires: ocaml-dune-devel
+BuildRequires: ocaml-lwt-devel
+BuildRequires: ocaml-mmap-devel
+BuildRequires: ocaml-ocplib-endian-devel
+BuildRequires: ocaml-odoc
+BuildRequires: ocaml-ounit2-devel
+BuildRequires: ocaml-result-devel
+BuildRequires: ocaml-stdint-devel >= 0.4.2
+BuildRequires: pkgconfig(libzmq)
+
+%description
+This library contains basic OCaml bindings for ZeroMQ.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+The %{name}-devel package contains libraries and signature files
+for developing applications that use %{name}.
+
+%package lwt
+Summary: LWT-aware ZeroMQ bindings for OCaml
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description lwt
+This library contains lwt-aware OCaml bindings for ZeroMQ.
+
+%package lwt-devel
+Summary: Development files for %{name}-lwt
+Requires: %{name}-devel%{?_isa} = %{version}-%{release}
+Requires: %{name}-lwt%{?_isa} = %{version}-%{release}
+Requires: ocaml-lwt-devel%{?_isa}
+
+%description lwt-devel
+The %{name}-lwt-devel package contains libraries and signature
+files for developing applications that use %{name}-lwt.
+
+%package doc
+Summary: Documentation for %{name}
+BuildArch: noarch
+
+%description doc
+Documentation for %{name}.
+
+%prep
+%autosetup -n %{srcname}-%{version}
+
+# We cannot build the async-aware bindings until ocaml-async-kernel and
+# ocaml-async-unix have been added to Fedora.
+rm -fr zmq-async*
+
+%build
+dune build %{?_smp_mflags}
+dune build %{?_smp_mflags} @doc
+
+%install
+dune install --destdir=%{buildroot}
+
+# We do not want the dune markers
+find _build/default/_doc/_html -name .dune-keep -delete
+
+# We do not want the ml files
+find %{buildroot}%{_libdir}/ocaml -name \*.ml -delete
+
+# We install the documentation with the doc macro
+rm -fr %{buildroot}%{_prefix}/doc
+
+%ifarch %{ocaml_native_compiler}
+# Add missing executable bits
+find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod a+x {} \+
+%endif
+
+%check
+dune runtest
+
+%files
+%doc CHANGES.md README.md
+%license LICENSE.md
+%dir %{_libdir}/ocaml/%{srcname}/
+%dir %{_libdir}/ocaml/%{srcname}/deferred/
+%{_libdir}/ocaml/%{srcname}/META
+%{_libdir}/ocaml/%{srcname}/%{srcname}.cma
+%{_libdir}/ocaml/%{srcname}/%{srcname}.cmi
+%{_libdir}/ocaml/%{srcname}/deferred/*.cma
+%{_libdir}/ocaml/%{srcname}/deferred/*.cmi
+%ifarch %{ocaml_native_compiler}
+%{_libdir}/ocaml/%{srcname}/%{srcname}.cmxs
+%{_libdir}/ocaml/%{srcname}/deferred/*.cmxs
+%endif
+%{_libdir}/ocaml/stublibs/dllzmq_stubs.so
+
+%files devel
+%{_libdir}/ocaml/%{srcname}/dune-package
+%{_libdir}/ocaml/%{srcname}/opam
+%ifarch %{ocaml_native_compiler}
+%{_libdir}/ocaml/%{srcname}/lib%{srcname}_stubs.a
+%{_libdir}/ocaml/%{srcname}/%{srcname}.a
+%{_libdir}/ocaml/%{srcname}/%{srcname}.cmx
+%{_libdir}/ocaml/%{srcname}/%{srcname}.cmxa
+%{_libdir}/ocaml/%{srcname}/deferred/*.a
+%{_libdir}/ocaml/%{srcname}/deferred/*.cmx
+%{_libdir}/ocaml/%{srcname}/deferred/*.cmxa
+%endif
+%{_libdir}/ocaml/%{srcname}/%{srcname}.cmt
+%{_libdir}/ocaml/%{srcname}/%{srcname}.cmti
+%{_libdir}/ocaml/%{srcname}/%{srcname}.mli
+%{_libdir}/ocaml/%{srcname}/deferred/*.cmt
+%{_libdir}/ocaml/%{srcname}/deferred/*.cmti
+%{_libdir}/ocaml/%{srcname}/deferred/*.mli
+
+%files lwt
+%dir %{_libdir}/ocaml/%{srcname}-lwt/
+%{_libdir}/ocaml/%{srcname}-lwt/META
+%{_libdir}/ocaml/%{srcname}-lwt/*.cma
+%{_libdir}/ocaml/%{srcname}-lwt/*.cmi
+%ifarch %{ocaml_native_compiler}
+%{_libdir}/ocaml/%{srcname}-lwt/*.cmxs
+%endif
+
+%files lwt-devel
+%{_libdir}/ocaml/%{srcname}-lwt/dune-package
+%{_libdir}/ocaml/%{srcname}-lwt/opam
+%ifarch %{ocaml_native_compiler}
+%{_libdir}/ocaml/%{srcname}-lwt/*.a
+%{_libdir}/ocaml/%{srcname}-lwt/*.cmx
+%{_libdir}/ocaml/%{srcname}-lwt/*.cmxa
+%endif
+%{_libdir}/ocaml/%{srcname}-lwt/*.cmt
+%{_libdir}/ocaml/%{srcname}-lwt/*.cmti
+%{_libdir}/ocaml/%{srcname}-lwt/*.mli
+
+%files doc
+%doc _build/default/_doc/_html/
+%doc _build/default/_doc/_mlds/
+%doc _build/default/_doc/_odoc/
+%license LICENSE.md
+
+%changelog
+* Fri Feb 7 2020 Jerry James <loganjerry(a)gmail.com> - 5.1.3-1
+- Initial RPM
diff --git a/sources b/sources
new file mode 100644
index 0000000..a7b5fc4
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (zmq-5.1.3.tbz) = 7b4c1e7bce06d7f340603c7d56ffc1714c5a0601040d72bbe5591e3ae5cf24e7835b5da7bd525c19632db45059544ddcdeecd507298e993b7b761a764c1d8ff7
4 years, 2 months