diff --git a/.gitignore b/.gitignore index d32e117..b0147d8 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ ParaView-3.8.1.tar.gz /ParaView-v5.1.0-RC1.tar.gz /ParaView-v5.1.0.tar.gz /ParaView-v5.1.2.tar.gz +/ParaView-v5.2.0-RC1.tar.gz diff --git a/1029.patch b/1029.patch deleted file mode 100644 index 0c45e36..0000000 --- a/1029.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 33d2f8e7e348303168c4295ca451d87d7f97bd01 Mon Sep 17 00:00:00 2001 -From: Orion Poplawski -Date: Thu, 15 Sep 2016 13:24:39 -0600 -Subject: [PATCH] Do not install libFmmMesh.a - ---- - Plugins/GeodesicMeasurementPlugin/FmmMesh/CMakeLists.txt | 7 ------- - 1 file changed, 7 deletions(-) - -diff --git a/Plugins/GeodesicMeasurementPlugin/FmmMesh/CMakeLists.txt b/Plugins/GeodesicMeasurementPlugin/FmmMesh/CMakeLists.txt -index 622b298..d112fe4 100644 ---- a/Plugins/GeodesicMeasurementPlugin/FmmMesh/CMakeLists.txt -+++ b/Plugins/GeodesicMeasurementPlugin/FmmMesh/CMakeLists.txt -@@ -55,10 +55,3 @@ if (NOT WIN32) - set_property(TARGET ${PROJECT_NAME} APPEND - PROPERTY COMPILE_FLAGS "-fPIC") - endif() -- -- --install(TARGETS ${PROJECT_NAME} -- RUNTIME DESTINATION bin -- LIBRARY DESTINATION lib -- ARCHIVE DESTINATION lib --) --- -2.7.4 - diff --git a/paraview-5.2.0-libjsoncpp_so_11.patch b/paraview-5.2.0-libjsoncpp_so_11.patch new file mode 100644 index 0000000..1ce82c1 --- /dev/null +++ b/paraview-5.2.0-libjsoncpp_so_11.patch @@ -0,0 +1,62 @@ +From bd4f8dd52d6c825ee60ca7cb7c5bd78a9d7ff33e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= +Date: Tue, 18 Oct 2016 12:16:58 +0200 +Subject: [PATCH] Fix build with JSONcpp >= 1.7.7, specialized template + (#16938) + +--- + ParaViewCore/ServerManager/Core/vtkSMSettings.cxx | 38 +++++++++++++++++++++++ + 1 file changed, 38 insertions(+) + +diff --git a/ParaViewCore/ServerManager/Core/vtkSMSettings.cxx b/ParaViewCore/ServerManager/Core/vtkSMSettings.cxx +index 49a0b22..942f21d 100644 +--- a/ParaViewCore/ServerManager/Core/vtkSMSettings.cxx ++++ b/ParaViewCore/ServerManager/Core/vtkSMSettings.cxx +@@ -1465,6 +1465,44 @@ Json::Value vtkConvertXMLElementToJSON( + ; + } + ++// We need a specialized template for vtkIdType, if compiling with ++// `VTK_USE_64BIT_IDS=ON`, because JSONcpp >= 1.7.7 switched from ++// at-least width (long long int) to fixed width (int64_t) integers. ++// If compiling with `VTK_USE_64BIT_IDS=OFF` this is not needed, ++// because vtkIdType represents a plain integer in this case. ++#ifdef VTK_USE_64BIT_IDS ++template <> ++Json::Value vtkConvertXMLElementToJSON ( ++ vtkSMVectorProperty* vp, ++ const std::vector >& elements) ++{ ++ // Since we need to handle enumeration domain :/. ++ vtkSMEnumerationDomain* enumDomain = vtkSMEnumerationDomain::SafeDownCast( ++ vp->FindDomain("vtkSMEnumerationDomain")); ++ Json::Value value(Json::arrayValue); ++ for (size_t cc=0; cc < elements.size(); ++cc) ++ { ++ vtkIdType xmlValue; ++ elements[cc]->GetScalarAttribute("value", &xmlValue); ++ const char* txt = enumDomain? enumDomain->GetEntryTextForValue(xmlValue) : NULL; ++ if (txt) ++ { ++ value[static_cast(cc)] = Json::Value(txt); ++ } ++ else ++ { ++ value[static_cast(cc)] = Json::Value(static_cast(xmlValue)); ++ } ++ } ++ if (vp->GetNumberOfElements()==1 && vp->GetRepeatCommand()==0 && value.size()==1) ++ { ++ return value[0]; ++ } ++ return value ++ ; ++} ++#endif // VTK_USE_64BIT_IDS ++ + template <> + Json::Value vtkConvertXMLElementToJSON( + vtkSMVectorProperty* vp, +-- +2.7.4 + diff --git a/paraview-headers.patch b/paraview-headers.patch deleted file mode 100644 index 1ec4ff9..0000000 --- a/paraview-headers.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up ParaView-v4.4.0-source/ParaViewCore/ServerImplementation/Core/CMakeLists.txt.headers ParaView-v4.4.0-source/ParaViewCore/ServerImplementation/Core/CMakeLists.txt -diff -up ParaView-v4.4.0-source/ParaViewCore/VTKExtensions/Default/CMakeLists.txt.headers ParaView-v4.4.0-source/ParaViewCore/VTKExtensions/Default/CMakeLists.txt -diff -up ParaView-v4.4.0-source/VTK/IO/Exodus/CMakeLists.txt.headers ParaView-v4.4.0-source/VTK/IO/Exodus/CMakeLists.txt ---- ParaView-v4.4.0-source/VTK/IO/Exodus/CMakeLists.txt.headers 2015-09-11 11:59:24.000000000 -0600 -+++ ParaView-v4.4.0-source/VTK/IO/Exodus/CMakeLists.txt 2015-09-14 21:09:58.470026261 -0600 -@@ -29,6 +29,7 @@ set_source_files_properties( - set(vtkIOExodus_HDRS - vtkCPExodusIINodalCoordinatesTemplate.h - vtkCPExodusIIResultsArrayTemplate.h -+ vtkExodusIIReaderPrivate.h - ) - - -diff -up ParaView-v4.4.0-source/VTK/IO/Import/CMakeLists.txt.headers ParaView-v4.4.0-source/VTK/IO/Import/CMakeLists.txt diff --git a/paraview-jsoncpp.patch b/paraview-jsoncpp.patch deleted file mode 100644 index 08a2555..0000000 --- a/paraview-jsoncpp.patch +++ /dev/null @@ -1,78 +0,0 @@ -diff -up ParaView-v5.0.0-RC3-source/ParaViewCore/ServerManager/Core/vtkSMSettings.cxx.jsoncpp ParaView-v5.0.0-RC3-source/ParaViewCore/ServerManager/Core/vtkSMSettings.cxx ---- ParaView-v5.0.0-RC3-source/ParaViewCore/ServerManager/Core/vtkSMSettings.cxx.jsoncpp 2015-12-22 18:14:02.000000000 -0700 -+++ ParaView-v5.0.0-RC3-source/ParaViewCore/ServerManager/Core/vtkSMSettings.cxx 2016-01-06 08:55:57.932760040 -0700 -@@ -112,7 +112,7 @@ public: - //---------------------------------------------------------------------------- - // Description: Get a Json::Value given a setting name. Returns the - // highest-priority setting defined in the setting collections, and -- // null if it isn't defined in any of the collections. -+ // nullRef if it isn't defined in any of the collections. - // - // String format is: - // "." => root node -@@ -509,8 +509,8 @@ public: - { - if (jsonValue.isArray()) - { -- // Reset to null so that we aren't setting a value on a Json::Value array -- jsonValue = Json::Value::null; -+ // Reset to nullRef so that we aren't setting a value on a Json::Value array -+ jsonValue = Json::Value::nullRef; - this->Modified(); - } - -@@ -524,8 +524,8 @@ public: - { - if (!jsonValue.isArray() && !jsonValue.isNull()) - { -- // Reset to null so that the jsonValue.resize() operation works -- jsonValue = Json::Value::null; -+ // Reset to nullRef so that the jsonValue.resize() operation works -+ jsonValue = Json::Value::nullRef; - this->Modified(); - } - -@@ -553,8 +553,8 @@ public: - { - if (jsonValue.isArray()) - { -- // Reset to null so that we aren't setting a value on a Json::Value array -- jsonValue = Json::Value::null; -+ // Reset to nullRef so that we aren't setting a value on a Json::Value array -+ jsonValue = Json::Value::nullRef; - this->Modified(); - } - -@@ -568,8 +568,8 @@ public: - { - if (!jsonValue.isArray() && !jsonValue.isNull()) - { -- // Reset to null so that the jsonValue.resize() operation works -- jsonValue = Json::Value::null; -+ // Reset to nullRef so that the jsonValue.resize() operation works -+ jsonValue = Json::Value::nullRef; - this->Modified(); - } - -@@ -597,8 +597,8 @@ public: - { - if (jsonValue.isArray()) - { -- // Reset to null so that we aren't setting a value on a Json::Value array -- jsonValue = Json::Value::null; -+ // Reset to nullRef so that we aren't setting a value on a Json::Value array -+ jsonValue = Json::Value::nullRef; - this->Modified(); - } - -@@ -612,8 +612,8 @@ public: - { - if (!jsonValue.isArray() && !jsonValue.isNull()) - { -- // Reset to null so that the jsonValue.resize() operation works -- jsonValue = Json::Value::null; -+ // Reset to nullRef so that the jsonValue.resize() operation works -+ jsonValue = Json::Value::nullRef; - this->Modified(); - } - diff --git a/paraview.spec b/paraview.spec index 8b80161..5b06e69 100644 --- a/paraview.spec +++ b/paraview.spec @@ -4,10 +4,10 @@ %{!?build_openmpi:%global build_openmpi 1} %{!?build_mpich:%global build_mpich 1} %global pv_maj 5 -%global pv_min 1 -%global pv_patch 2 +%global pv_min 2 +%global pv_patch 0 %global pv_majmin %{pv_maj}.%{pv_min} -#global rcver %{nil} +%global rcver RC1 # We need jsoncpp >= 0.7 %if 0%{?fedora} >= 24 @@ -29,33 +29,28 @@ Name: paraview Version: %{pv_majmin}.%{pv_patch} -Release: 2%{?rcver:.%rcver}%{?dist} +Release: 0.1%{?rcver:.%rcver}%{?dist} Summary: Parallel visualization application Group: Applications/Engineering License: BSD URL: http://www.paraview.org/ Source0: http://www.paraview.org/files/v%{pv_majmin}/ParaView-v%{version}%{?rcver:-%rcver}.tar.gz -Source2: paraview.xml +Source1: paraview.xml # Fix Version in desktop file # http://www.paraview.org/Bug/view.php?id=12508 Patch0: paraview-desktop.patch -# Do not install libFmmMesh.a -# https://gitlab.kitware.com/paraview/paraview/merge_requests/1029 -Patch1: https://gitlab.kitware.com/paraview/paraview/merge_requests/1029.patch # Unbundle eigen # https://bugzilla.redhat.com/show_bug.cgi?id=1251289 -Patch2: paraview-eigen.patch -# Fix jsoncpp build on ARM -Patch3: paraview-jsoncpp.patch -# Install missing headers -# https://bugzilla.redhat.com/show_bug.cgi?id=1100911 -# http://www.vtk.org/Bug/view.php?id=14700 -Patch5: paraview-headers.patch +Patch1: paraview-eigen.patch # Fix ParaViewPlugins.cmake # https://bugzilla.redhat.com/show_bug.cgi?id=1118520 # http://www.paraview.org/Bug/view.php?id=14878 Patch7: paraview-plugin-env.patch +# Fix call of overloaded 'Value(T&)' is ambiguous. +# https://gitlab.kitware.com/paraview/paraview/issues/16938 +# https://gitlab.kitware.com/paraview/paraview/merge_requests/1123 +Patch8: https://gitlab.kitware.com/paraview/paraview/merge_requests/1123.patch#/paraview-5.2.0-libjsoncpp_so_11.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -327,38 +322,36 @@ developing applications that use %{name}-mpich. %prep %setup -q -n ParaView-v%{version}%{?rcver:-%rcver} %patch0 -p1 -b .desktop -%patch1 -p1 -b .FmmMesh -%patch2 -p1 -b .eigen -%patch3 -p1 -b .jsoncpp -%patch5 -p1 -b .headers +%patch1 -p1 -b .eigen %patch7 -p1 -b .plugin-env +%patch8 -p1 -b .libjsoncpp_so_11 # Install python properly sed -i -s '/VTK_INSTALL_PYTHON_USING_CMAKE/s/TRUE/FALSE/' CMakeLists.txt #Remove included thirdparty sources just to be sure for x in pygments vtkprotobuf do - rm -r ThirdParty/*/${x} + rm -fr ThirdParty/*/${x} done %if %{system_pugixml} rm ThirdParty/pugixml/pugixml.* %endif for x in autobahn vtkexpat vtkfreetype vtkgl2ps vtkhdf5 vtkjpeg vtklibxml2 vtkmpi4py vtknetcdf vtkoggtheora vtkpng vtksqlite vtktiff twisted vtkzlib zope do - rm -r VTK/ThirdParty/*/${x} + rm -fr VTK/ThirdParty/*/${x} done # jsoncpp %if 0%{system_jsoncpp} -rm -r VTK/ThirdParty/jsoncpp/vtkjsoncpp +rm -fr VTK/ThirdParty/jsoncpp/vtkjsoncpp %endif # Eigen -rm -r Plugins/SciberQuestToolKit/eigen-* +rm -fr Plugins/SciberQuestToolKit/eigen-* # Remove unused KWSys items -find VTK/Utilities/KWSys/vtksys/ -name \*.[ch]\* | grep -vE '^VTK/Utilities/KWSys/vtksys/([a-z].*|Configure|SharedForward|String\.hxx|Base64|CommandLineArguments|Directory|DynamicLoader|Encoding|FStream|FundamentalType|Glob|MD5|Process|RegularExpression|System|SystemInformation|SystemTools)(C|CXX|UNIX)?\.' | xargs rm +find VTK/Utilities/KWSys/vtksys/ -name \*.[ch]\* | grep -vE '^VTK/Utilities/KWSys/vtksys/([a-z].*|Configure|SharedForward|String\.hxx|Base64|CommandLineArguments|Directory|DynamicLoader|Encoding|FStream|FundamentalType|Glob|MD5|Process|RegularExpression|System|SystemInformation|SystemTools)(C|CXX|UNIX)?\.' | xargs rm -f # Work around gcc 4.9.0 regression # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61294 sed -i -e 's/-Wl,--fatal-warnings//' VTK/CMake/vtkCompilerExtras.cmake # We want to build with a system vtk someday, but it doesn't work yet -#rm -r VTK +#rm -fr VTK %build @@ -437,7 +430,7 @@ find . \( -name \*.txt -o -name \*.xml -o -name '*.[ch]' -o -name '*.[ch][px][px # Create some needed directories install -d $RPM_BUILD_ROOT%{_datadir}/applications install -d $RPM_BUILD_ROOT%{_datadir}/mime/packages -install -m644 %SOURCE2 $RPM_BUILD_ROOT%{_datadir}/mime/packages +install -m644 %SOURCE1 $RPM_BUILD_ROOT%{_datadir}/mime/packages %if %{build_openmpi} # Install openmpi version @@ -575,6 +568,11 @@ update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || : %changelog +* Mon Oct 17 2016 Björn Esser - 5.2.0-0.1.RC1 +- Update to 5.2.0-RC1 +- Drop patches merged by upstream +- Add libjsoncpp_so_11.patch + * Mon Oct 03 2016 Björn Esser - 5.1.2-2 - Rebuilt for libjsoncpp.so.11 diff --git a/sources b/sources index af0c865..2c43e86 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -44fb32fc8988fcdfbc216c9e40c3e925 ParaView-v5.1.2.tar.gz +96152b2387dbd707f634f056b6096f65 ParaView-v5.2.0-RC1.tar.gz