diff --git a/root-TGHtmlBrowser-crash.patch b/root-TGHtmlBrowser-crash.patch deleted file mode 100644 index 5cd8c6b..0000000 --- a/root-TGHtmlBrowser-crash.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 961e9457ce3a9f6641819ceab61ce55b147d2fe5 Mon Sep 17 00:00:00 2001 -From: Bertrand Bellenot -Date: Fri, 21 Sep 2018 11:10:07 +0200 -Subject: [PATCH] Fix Jira issue #ROOT-9640 Segmentation violation after - starting TBrowser b - -Only connect/disconnect TGHtmlBrowser signals when it is present ---- - gui/gui/src/TGFileBrowser.cxx | 8 +++++--- - gui/gui/src/TRootBrowser.cxx | 4 ++++ - 2 files changed, 9 insertions(+), 3 deletions(-) - -diff --git a/gui/gui/src/TGFileBrowser.cxx b/gui/gui/src/TGFileBrowser.cxx -index 3f6ce23b60..17b13bacaf 100644 ---- a/gui/gui/src/TGFileBrowser.cxx -+++ b/gui/gui/src/TGFileBrowser.cxx -@@ -232,8 +232,9 @@ void TGFileBrowser::CreateBrowser() - - fDblClick = kFALSE; - -- TQObject::Connect("TGHtmlBrowser", "Clicked(char*)", -- "TGFileBrowser", this, "Selected(char*)"); -+ if (TClass::GetClass("TGHtmlBrowser")) -+ TQObject::Connect("TGHtmlBrowser", "Clicked(char*)", -+ "TGFileBrowser", this, "Selected(char*)"); - - TQObject::Connect("TPad", "Modified()", - "TGFileBrowser", this, "PadModified()"); -@@ -249,7 +250,8 @@ void TGFileBrowser::CreateBrowser() - - TGFileBrowser::~TGFileBrowser() - { -- TQObject::Disconnect("TGHtmlBrowser", "Clicked(char*)"); -+ if (TClass::GetClass("TGHtmlBrowser")) -+ TQObject::Disconnect("TGHtmlBrowser", "Clicked(char*)"); - TQObject::Disconnect("TPad", "Modified()"); - - delete fContextMenu; -diff --git a/gui/gui/src/TRootBrowser.cxx b/gui/gui/src/TRootBrowser.cxx -index 8105c29d09..56c39585bd 100644 ---- a/gui/gui/src/TRootBrowser.cxx -+++ b/gui/gui/src/TRootBrowser.cxx -@@ -54,6 +54,7 @@ - #include "TSystem.h" - #include "TApplication.h" - #include "TBrowser.h" -+#include "TClass.h" - #include "TGClient.h" - #include "TGFrame.h" - #include "TGTab.h" -@@ -213,6 +214,9 @@ void TRootBrowser::CreateBrowser(const char *name) - fPreMenuFrame->AddFrame(fMenuBar, fLH2); - fTopMenuFrame->AddFrame(fPreMenuFrame, fLH0); - -+ if (!TClass::GetClass("TGHtmlBrowser")) -+ fMenuFile->DisableEntry(kNewHtml); -+ - fMenuFrame = new TGHorizontalFrame(fTopMenuFrame, 100, 20, kRaisedFrame); - fTopMenuFrame->AddFrame(fMenuFrame, fLH5); - --- -2.17.2 - diff --git a/root-clang-ignore-gcc-options.patch b/root-clang-ignore-gcc-options.patch new file mode 100644 index 0000000..ebd8957 --- /dev/null +++ b/root-clang-ignore-gcc-options.patch @@ -0,0 +1,33 @@ +From 1303b60707614043993f9c97c79dd4fe89e6efa4 Mon Sep 17 00:00:00 2001 +From: Mattias Ellert +Date: Wed, 7 Nov 2018 12:05:30 +0100 +Subject: [PATCH] Let clang ignore some gcc options it hasn't implemented + +--- + .../llvm/src/tools/clang/include/clang/Driver/Options.td | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/interpreter/llvm/src/tools/clang/include/clang/Driver/Options.td b/interpreter/llvm/src/tools/clang/include/clang/Driver/Options.td +index 05dc9d7eb3..1e887ac6b1 100644 +--- a/interpreter/llvm/src/tools/clang/include/clang/Driver/Options.td ++++ b/interpreter/llvm/src/tools/clang/include/clang/Driver/Options.td +@@ -2464,6 +2464,8 @@ defm align_loops : BooleanFFlag<"align-loops">, Group, Group; + def falign_jumps_EQ : Joined<["-"], "falign-jumps=">, Group; ++defm cf_protection : BooleanFFlag<"cf-protection">, Group; ++def fcf_protection_EQ : Joined<["-"], "fcf-protection=">, Group; + + // FIXME: This option should be supported and wired up to our diognostics, but + // ignore it for now to avoid breaking builds that use it. +@@ -2524,6 +2526,7 @@ defm single_precision_constant : BooleanFFlag<"single-precision-constant">, + Group; + defm spec_constr_count : BooleanFFlag<"spec-constr-count">, Group; + defm stack_check : BooleanFFlag<"stack-check">, Group; ++defm stack_clash_protection : BooleanFFlag<"stack-clash-protection">, Group; + defm strength_reduce : + BooleanFFlag<"strength-reduce">, Group; + defm tls_model : BooleanFFlag<"tls-model">, Group; +-- +2.19.1 + diff --git a/root-unbundle-gtest.patch b/root-unbundle-gtest.patch index f3b343d..b5f0531 100644 --- a/root-unbundle-gtest.patch +++ b/root-unbundle-gtest.patch @@ -1,7 +1,7 @@ -diff -ur root-6.12.04.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.12.04/cmake/modules/SearchInstalledSoftware.cmake ---- root-6.12.04.orig/cmake/modules/SearchInstalledSoftware.cmake 2017-12-13 08:27:42.000000000 +0100 -+++ root-6.12.04/cmake/modules/SearchInstalledSoftware.cmake 2018-01-07 22:45:45.537658993 +0100 -@@ -1580,71 +1580,18 @@ +diff -ur root-6.14.06.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.14.06/cmake/modules/SearchInstalledSoftware.cmake +--- root-6.14.06.orig/cmake/modules/SearchInstalledSoftware.cmake 2018-11-05 10:30:03.000000000 +0100 ++++ root-6.14.06/cmake/modules/SearchInstalledSoftware.cmake 2018-11-06 10:06:56.399528378 +0100 +@@ -1556,75 +1556,18 @@ #---Download googletest-------------------------------------------------------------- if (testing) @@ -26,6 +26,10 @@ diff -ur root-6.12.04.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.12 - -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG:PATH=\\\"\\\" - -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=\\\"\\\") - endif() +- if(APPLE) +- set(EXTRA_GTEST_OPTS +- -DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}) +- endif() - - ExternalProject_Add( - googletest diff --git a/root.spec b/root.spec index dd91288..c9ddf65 100644 --- a/root.spec +++ b/root.spec @@ -44,9 +44,9 @@ %global __provides_exclude_from ^(%{python2_sitearch}|%{python3_sitearch}%{?python3_other_sitearch:|%{python3_other_sitearch}})/libJupyROOT\\.so$ Name: root -Version: 6.14.04 +Version: 6.14.06 %global libversion %(cut -d. -f 1-2 <<< %{version}) -Release: 3%{?dist} +Release: 1%{?dist} Summary: Numerical data analysis framework License: LGPLv2+ @@ -118,10 +118,9 @@ Patch19: %{name}-ix32-geom-opt.patch # Missing libcrypto dependency for libSrvAuth # https://github.com/root-project/root/pull/2436 Patch20: %{name}-crypto.patch -# Fix crash in TBrowser when root-gui-html is not installed -# https://sft.its.cern.ch/jira/browse/ROOT-9640 -# Backported from git master -Patch21: %{name}-TGHtmlBrowser-crash.patch +# Let clang ignore some gcc options it hasn't implemented +# https://github.com/root-project/root/pull/2933 +Patch21: %{name}-clang-ignore-gcc-options.patch # s390x suffers from endian issues resulting in failing tests # and broken documentation generation @@ -373,6 +372,12 @@ Requires: urw-fonts Requires: font(droidsansfallback) Obsoletes: %{name}-ruby < 6.00.00 Obsoletes: %{name}-vdt < 6.10.00 +%if %{py3default} +# Don't build python2-jupyroot/jsmva packages for Fedora >= 29 +Obsoletes: python2-jupyroot < %{version}-%{release} +Obsoletes: python2-jsmva < %{version}-%{release} +Obsoletes: %{name}-rootaas < 6.08.00 +%endif %description core This package contains the core libraries used by ROOT: libCore, libNew, @@ -454,6 +459,7 @@ Requires: %{name}-tree%{?_isa} = %{version}-%{release} This package contains the Python extension for ROOT. This package provide a Python interface to ROOT, and a ROOT interface to Python. +%if ! %{py3default} %package -n python2-jupyroot Summary: ROOT Jupyter kernel Requires: python2-%{name}%{?_isa} = %{version}-%{release} @@ -481,6 +487,7 @@ Requires: %{name}-tmva = %{version}-%{release} %description -n python2-jsmva TMVA interface used by JupyROOT. +%endif %package -n python%{python3_pkgversion}-%{name} Summary: Python extension for ROOT @@ -1650,7 +1657,7 @@ Requires: %{name}-net%{?_isa} = %{version}-%{release} This package contains the Tree library for ROOT. %package tree-dataframe -Summary: A high level interfae to ROOT trees +Summary: A high level interface to ROOT trees Requires: %{name}-core%{?_isa} = %{version}-%{release} Requires: %{name}-hist%{?_isa} = %{version}-%{release} Requires: %{name}-tree%{?_isa} = %{version}-%{release} @@ -1659,7 +1666,7 @@ Requires: %{name}-tree-player%{?_isa} = %{version}-%{release} Obsoletes: %{name}-tree-player < 6.14.00 %description tree-dataframe -This package contains a high level interfae to ROOT trees. +This package contains a high level interface to ROOT trees. %package tree-player Summary: Library to loop over a ROOT tree @@ -2187,6 +2194,7 @@ install -p -m 644 %SOURCE4 %{buildroot}%{_unitdir} mkdir -p %{buildroot}%{_datadir}/%{name}/cli mv %{buildroot}%{_libdir}/%{name}/cmdLineUtils.py* \ %{buildroot}%{_datadir}/%{name}/cli +sed -e '/^\#!/d' -i %{buildroot}%{_datadir}/%{name}/cli/cmdLineUtils.py %if %{py3default} %py_byte_compile %{__python3} %{buildroot}%{_datadir}/%{name}/cli @@ -2227,24 +2235,12 @@ DESTDIR=$tmpdir cmake3 -P builddir/bindings/python2/cmake_install.cmake mkdir -p %{buildroot}%{python2_sitearch} mv $tmpdir%{_libdir}/%{name}/libPyROOT.so.%{version} \ %{buildroot}%{python2_sitearch}/libPyROOT.so -mv $tmpdir%{_libdir}/%{name}/libJupyROOT.so.%{version} \ - %{buildroot}%{python2_sitearch}/libJupyROOT.so mv $tmpdir%{_libdir}/%{name}/*.py* %{buildroot}%{python2_sitearch} -rm $tmpdir%{_libdir}/%{name}/JupyROOT/README.md -rm -rf $tmpdir%{_libdir}/%{name}/JupyROOT/src -mv $tmpdir%{_libdir}/%{name}/JupyROOT %{buildroot}%{python2_sitearch} -rm $tmpdir%{_libdir}/%{name}/libJupyROOT.so.%{libversion} -rm $tmpdir%{_libdir}/%{name}/libJupyROOT.so - -mkdir -p %{buildroot}%{python2_sitelib} -mv $tmpdir%{_libdir}/%{name}/JsMVA %{buildroot}%{python2_sitelib} rm -rf $tmpdir # Create empty .egg-info files so that rpm auto-generates provides touch %{buildroot}%{python2_sitearch}/ROOT-%{version}.egg-info -touch %{buildroot}%{python2_sitearch}/JupyROOT-%{version}.egg-info -touch %{buildroot}%{python2_sitelib}/JsMVA-%{version}.egg-info %else @@ -2336,21 +2332,32 @@ touch %{buildroot}%{python3_other_sitelib}/JsMVA-%{version}.egg-info # Put jupyter stuff in the right places mkdir -p %{buildroot}%{_datadir}/jupyter/kernels +%if ! %{py3default} cp -pr %{buildroot}%{_datadir}/%{name}/notebook/kernels/root \ %{buildroot}%{_datadir}/jupyter/kernels/python2-jupyroot -sed -e 's/ROOT C++/& (Python 2)/' -e 's!python!%{__python2}!' \ +sed -e 's/ROOT C++/& (Python 2)/' \ + -e 's!python!%{__python2}!' \ -i %{buildroot}%{_datadir}/jupyter/kernels/python2-jupyroot/kernel.json +sed -e '/^\#!/d' \ + -i %{buildroot}%{python2_sitearch}/JupyROOT/kernel/rootkernel.py +%endif cp -pr %{buildroot}%{_datadir}/%{name}/notebook/kernels/root \ %{buildroot}%{_datadir}/jupyter/kernels/python%{python3_pkgversion}-jupyroot -sed -e 's/ROOT C++/& (Python 3)/' -e 's!python!%{__python3}!' \ +sed -e 's/ROOT C++/& (Python 3)/' \ + -e 's!python!%{__python3}!' \ -i %{buildroot}%{_datadir}/jupyter/kernels/python%{python3_pkgversion}-jupyroot/kernel.json +sed -e '/^\#!/d' \ + -i %{buildroot}%{python3_sitearch}/JupyROOT/kernel/rootkernel.py %if %{?rhel}%{!?rhel:0} == 7 cp -pr %{buildroot}%{_datadir}/%{name}/notebook/kernels/root \ %{buildroot}%{_datadir}/jupyter/kernels/python%{python3_other_pkgversion}-jupyroot -sed -e 's/ROOT C++/& (Python %{python3_other_version})/' -e 's!python!%{__python3_other}!' \ +sed -e 's/ROOT C++/& (Python %{python3_other_version})/' \ + -e 's!python!%{__python3_other}!' \ -i %{buildroot}%{_datadir}/jupyter/kernels/python%{python3_other_pkgversion}-jupyroot/kernel.json +sed -e '/^\#!/d' \ + -i %{buildroot}%{python3_other_sitearch}/JupyROOT/kernel/rootkernel.py %endif rm -rf %{buildroot}%{_datadir}/%{name}/notebook/custom @@ -2395,10 +2402,6 @@ sed -e 's!/usr/bin/env python2!%{__python2}!' \ sed -e 's!/usr/bin/env python2!%{__python2}!' \ -e 's!/usr/bin/env python3!%{__python3}!' \ -i %{buildroot}%{_bindir}/rootdrawtree -sed -e '/^\#!/d' \ - -i %{buildroot}%{_datadir}/%{name}/cli/cmdLineUtils.py \ - %{buildroot}%{python2_sitearch}/JupyROOT/kernel/rootkernel.py \ - %{buildroot}%{python3_sitearch}/JupyROOT/kernel/rootkernel.py sed -e 's!/usr/bin/env python!%{__pythondef}!' \ -i %{buildroot}%{_datadir}/%{name}/dictpch/makepch.py \ %{buildroot}%{_pkgdocdir}/tutorials/histfactory/example.py \ @@ -3126,6 +3129,7 @@ end %{python2_sitearch}/cppyy.py* %{python2_sitearch}/_pythonization.py* +%if ! %{py3default} %files -n python2-jupyroot %{python2_sitearch}/JupyROOT %{python2_sitearch}/JupyROOT-*.egg-info @@ -3136,6 +3140,7 @@ end %files -n python2-jsmva %{python2_sitelib}/JsMVA %{python2_sitelib}/JsMVA-*.egg-info +%endif %files -n python%{python3_pkgversion}-%{name} -f includelist-bindings-pyroot %{_libdir}/%{name}/libPyROOT.rootmap @@ -3786,6 +3791,12 @@ end %endif %changelog +* Tue Nov 06 2018 Mattias Ellert - 6.14.06-1 +- Update to 6.14.06 +- Let clang ignore some gcc options it hasn't implemented +- Don't build python2-jupyroot/jsmva packages for Fedora >= 29 +- Drop previously backported patch root-TGHtmlBrowser-crash.patch + * Thu Oct 25 2018 Mattias Ellert - 6.14.04-3 - Fix crash in TBrowser when root-gui-html is not installed - Use empty .egg-info files instead of empty .dist-info files to make diff --git a/sources b/sources index b4a761b..2031d9b 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (root-6.14.04.tar.xz) = 02163e1eb003613ce245b232eb11e491b91367fa61ead224fc7f4cecd3f04acaaa6e53ff526f26cfee3e4a5f0f32a9bf683e8ab648bc3e6fb5eda8d9d9756def -SHA512 (root-testfiles.tar.xz) = 22b85815a49a0acec13b4dc160cac0712398df1ec7b0a0bf9b01f31c72538f356190e386fb7a37cd797a3bff1c04a52567761b8b3720790de96f515596ceeea2 +SHA512 (root-6.14.06.tar.xz) = 6aaf3453ea20cf7c39d23100ceb0ce13c47f856eed27c5f19b144eb691cf82740d046ad7a77b097c0c9581221645294f38bb8a39941543ae74823f5e619fd639