diff --git a/.gitignore b/.gitignore index 4cf8376..1e9afc3 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,43 @@ vtk-5.6.0.tar.gz /vtk-5.10.1.tar.gz /vtk-6.0.0.tar.gz /VTK-6.1.0.tar.gz +/VTK-6.2.0.tar.gz +/VTKData-6.2.0.tar.gz +/VTK-6.3.0.tar.gz +/VTKData-6.3.0.tar.gz +/VTK-7.1.0.tar.gz +/VTKData-7.1.0.tar.gz +/VTK-7.1.1.tar.gz +/VTKData-7.1.1.tar.gz +/VTK-8.1.1.tar.gz +/VTKData-8.1.1.tar.gz +/VTK-8.2.0.tar.gz +/VTKData-8.2.0.tar.gz +/VTK-9.0.0.tar.gz +/VTKData-9.0.0.tar.gz +/VTK-9.0.1.tar.gz +/VTKData-9.0.1.tar.gz +/VTK-9.0.2.tar.gz +/VTKData-9.0.2.tar.gz +/VTK-9.0.3.tar.gz +/VTKData-9.0.3.tar.gz +/VTK-9.1.0.tar.gz +/VTKData-9.1.0.tar.gz +/VTK-9.2.5.tar.gz +/VTKData-9.2.5.tar.gz +/VTK-9.2.6.tar.gz +/VTKData-9.2.6.tar.gz +/VTK-9.3.0.tar.gz +/VTKData-9.3.0.tar.gz +/VTK-9.3.1.tar.gz +/VTKData-9.3.1.tar.gz +/VTK-9.4.1.tar.gz +/VTKData-9.4.1.tar.gz +/VTK-9.4.2.tar.gz +/VTKData-9.4.2.tar.gz +/VTK-9.5.0.tar.gz +/VTKData-9.5.0.tar.gz +/VTK-9.5.1.tar.gz +/VTKData-9.5.1.tar.gz +/VTK-9.5.2.tar.gz +/VTKData-9.5.2.tar.gz diff --git a/FindPEGTL.cmake b/FindPEGTL.cmake new file mode 100644 index 0000000..28ae5c5 --- /dev/null +++ b/FindPEGTL.cmake @@ -0,0 +1,66 @@ +# - Try to find PEGTL lib +# +# This module supports requiring a minimum version, e.g. you can do +# find_package(PEGTL 3.1.2) +# to require version 3.1.2 or newer of PEGTL. +# +# Once done this will define +# +# PEGTL_FOUND - system has eigen lib with correct version +# PEGTL_INCLUDE_DIR - the eigen include directory +# PEGTL_VERSION - eigen version + +# Copyright (c) 2006, 2007 Montel Laurent, +# Copyright (c) 2008, 2009 Gael Guennebaud, +# Copyright (c) 2009 Benoit Jacob +# Redistribution and use is allowed according to the terms of the 2-clause BSD license. + +if(NOT PEGTL_FIND_VERSION) + if(NOT PEGTL_FIND_VERSION_MAJOR) + set(PEGTL_FIND_VERSION_MAJOR 2) + endif() + if(NOT PEGTL_FIND_VERSION_MINOR) + set(PEGTL_FIND_VERSION_MINOR 4) + endif() + if(NOT PEGTL_FIND_VERSION_PATCH) + set(PEGTL_FIND_VERSION_PATCH 0) + endif() + + set(PEGTL_FIND_VERSION "${PEGTL_FIND_VERSION_MAJOR}.${PEGTL_FIND_VERSION_MINOR}.${PEGTL_FIND_VERSION_PATCH}") +endif() + +macro(_pegtl_check_version) + file(READ "${PEGTL_INCLUDE_DIR}/tao/pegtl/version.hpp" _pegtl_version_header) + string(REGEX MATCH "define[ \t]+TAO_PEGTL_VERSION[ \t]+\"([0-9.]+)\"" _pegtl_version_match "${_pegtl_version_header}") + set(PEGTL_VERSION ${CMAKE_MATCH_1}) + if(${PEGTL_VERSION} VERSION_LESS ${PEGTL_FIND_VERSION}) + set(PEGTL_VERSION_OK FALSE) + else() + set(PEGTL_VERSION_OK TRUE) + endif() + + if(NOT PEGTL_VERSION_OK) + message(STATUS "PEGTL version ${PEGTL_VERSION} found in ${PEGTL_INCLUDE_DIR}, " + "but at least version ${PEGTL_FIND_VERSION} is required") + endif() +endmacro() + +if (PEGTL_INCLUDE_DIR) + # in cache already + _pegtl_check_version() + set(PEGTL_FOUND ${PEGTL_VERSION_OK}) +else () + find_path(PEGTL_INCLUDE_DIR NAMES tao + PATHS + ${CMAKE_INSTALL_PREFIX}/include + ) + + if(PEGTL_INCLUDE_DIR) + _pegtl_check_version() + endif() + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(PEGTL DEFAULT_MSG PEGTL_INCLUDE_DIR PEGTL_VERSION_OK) + + mark_as_advanced(PEGTL_INCLUDE_DIR) +endif() diff --git a/changelog b/changelog new file mode 100644 index 0000000..cd948dd --- /dev/null +++ b/changelog @@ -0,0 +1,757 @@ +* Thu Feb 13 2025 Orion Poplawski - 9.2.6-26 +- Rebuild with hdf5 1.14.6 + +* Tue Jan 28 2025 Sandro Mani - 9.2.6-25 +- Rebuild for cgnslib built with scoped enums + +* Mon Jan 27 2025 Sandro Mani - 9.2.6-24 +- Rebuild (cgnslib) + +* Fri Jan 24 2025 Sandro Mani - 9.2.6-23 +- Rebuild (cgnslib) + +* Sun Jan 19 2025 Fedora Release Engineering - 9.2.6-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Nov 08 2024 Sandro Mani - 9.2.6-21 +- Rebuild (gdal) + +* Thu Oct 31 2024 Christoph Junghans - 9.2.6-20 +- Add missing dep to mpi-devel packages + +* Fri Oct 25 2024 Orion Poplawski - 9.2.6-19 +- Rebuild for hdf5 1.14.5 + +* Tue Oct 08 2024 Orion Poplawski - 9.2.6-18 +- Add upstream patch to fix segmentation fault on import with Python 3.13 + (rhbz#2310520) + +* Sat Jul 20 2024 Fedora Release Engineering - 9.2.6-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jun 08 2024 Python Maint - 9.2.6-16 +- Rebuilt for Python 3.13 + +* Mon May 13 2024 Sandro Mani - 9.2.6-15 +- Rebuild (gdal) + +* Wed Apr 10 2024 Orion Poplawski - 9.2.6-14 +- Set Java source/target version to 8 (FTBFS bz#2272954) + +* Sat Feb 24 2024 David Abdurachmanov - 9.2.6-13 +- Reduce memory and ncpu usage during riscv64 builds + +* Wed Jan 24 2024 Orion Poplawski - 9.2.6-12 +- Drop mpi4py-mpich BR on i686 (bz#2259594) + +* Wed Jan 17 2024 Jonathan Wakely - 9.2.6-12 +- Rebuilt for Boost 1.83 + +* Wed Nov 15 2023 Sandro Mani - 9.2.6-11 +- Rebuild (gdal) + +* Thu Nov 02 2023 Philip Matura - 9.2.6-10 +- Move API docs to separate doc sub-package (bz#2247327) + +* Wed Oct 11 2023 Orion Poplawski - 9.2.6-9 +- Rebuild for openslide 4.0.0 + +* Sun Sep 17 2023 Orion Poplawski - 9.2.6-8 +- Use loops for mpi builds/intalls + +* Sun Sep 10 2023 Orion Poplawski - 9.2.6-7 +- Fix -devel deps on netcdf-*-devel + +* Sat Jul 22 2023 Fedora Release Engineering - 9.2.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jul 06 2023 Sandro Mani - 9.2.6-5 +- Rebuild (cgnslib) + +* Fri Jun 16 2023 Python Maint - 9.2.6-4 +- Rebuilt for Python 3.12 + +* Thu May 11 2023 Sandro Mani - 9.2.6-3 +- Rebuild (gdal) + +* Mon Feb 20 2023 Jonathan Wakely - 9.2.6-2 +- Rebuilt for Boost 1.81 + +* Sun Feb 19 2023 Orion Poplawski - 9.2.6-1 +- Update to 9.2.6 + +* Sat Jan 21 2023 Fedora Release Engineering - 9.2.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Jan 09 2023 Orion Poplawski - 9.2.5-1 +- Update to 9.2.5 +- Use SPDX License tag + +* Sat Nov 12 2022 Sandro Mani - 9.1.0-18 +- Rebuild (gdal) + +* Thu Jul 28 2022 Orion Poplawski - 9.1.0-17 +- Remove all of vtkdata/Wrapping to keep vtk-data noarch + +* Thu Jul 28 2022 Mamoru TASAKA - 9.1.0-16 +- Make -data subpackage arch-dependent for now due to + java removal (bz#2104109) + +* Sat Jul 23 2022 Fedora Release Engineering - 9.1.0-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sun Jul 10 2022 Orion Poplawski - 9.1.0-14 +- Drop java for i686 (bz#2104109) + +* Tue Jun 28 2022 Orion Poplawski - 9.1.0-13 +- Add patch to support netcdf 4.9.0 + +* Fri Jun 24 2022 Orion Poplawski - 9.1.0-12 +- Set VTK_PYTHON_OPTIONAL_LINK=OFF (bz#1979611) +- Link libvtkkissfft.so.1 against libm (bz#2100573) + +* Mon Jun 13 2022 Python Maint - 9.1.0-11 +- Rebuilt for Python 3.11 + +* Fri May 20 2022 Sandro Mani - 9.1.0-10 +- Rebuild for gdal-3.5.0 and/or openjpeg-2.5.0 + +* Wed May 04 2022 Thomas Rodgers - 9.1.0-9 +- Rebuilt for Boost 1.78 + +* Tue Mar 22 2022 Sandro Mani - 9.1.0-8 +- Rebuild for cgnslib-4.3.0 + +* Thu Mar 03 2022 Sandro Mani - 9.1.0-7 +- Rebuild for proj-9.0.0 + +* Thu Feb 10 2022 Orion Poplawski - 9.1.0-6 +- Rebuild for glew 2.2 + +* Sat Feb 05 2022 Jiri Vanek - 9.1.0-5 +- Rebuilt for java-17-openjdk as system jdk + +* Sat Jan 29 2022 Orion Poplawski - 9.1.0-4 +- Use export CC/CXX to set MPI compiler + +* Sat Jan 22 2022 Fedora Release Engineering - 9.1.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jan 20 2022 Orion Poplawski - 9.1.0-3 +- Use %%global to define __cc/__cxx + +* Fri Jan 07 2022 Orion Poplawski - 9.1.0-2 +- Make java-devel only be brought in by vtk-java-devel + +* Sun Nov 21 2021 Orion Poplawski - 9.1.0-1 +- Update to 9.1.0 + +* Thu Nov 11 2021 Sandro Mani - 9.0.3-4 +- Rebuild (gdal) + +* Wed Nov 03 2021 Björn Esser - 9.0.3-3 +- Rebuild (jsoncpp) + +* Sun Sep 26 2021 Orion Poplawski - 9.0.3-2 +- Cleanup rpath handling (bz#1902729) + +* Wed Sep 15 2021 Orion Poplawski - 9.0.3-1 +- Update to 9.0.3 +- Add upstream patch to fix Mayavi crash (bz#1966135) + +* Tue Aug 10 2021 Orion Poplawski - 9.0.2-6 +- Rebuild for hdf5 1.10.7/netcdf 4.8.0 + +* Tue Aug 10 2021 Orion Poplawski - 9.0.2-5 +- More rpath cleanup + +* Sat Aug 07 2021 Jonathan Wakely - 9.0.2-4 +- Rebuilt for Boost 1.76 + +* Fri Jul 23 2021 Fedora Release Engineering - 9.0.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jul 13 2021 Björn Esser - 9.0.2-2 +- Properly set BLA_VENDOR to FlexiBLAS for cmake >= 3.19 + +* Thu Jul 01 2021 Orion Poplawski - 9.0.2-1 +- Update to 9.0.2 + +* Fri Jun 04 2021 Python Maint - 9.0.1-9 +- Rebuilt for Python 3.10 + +* Fri May 21 2021 Sandro Mani - 9.0.1-8 +- Rebuild (gdal) + +* Thu May 20 2021 Richard Shaw - 9.0.1-7 +- Rebuild for gdal 3.3.0. + +* Fri May 07 2021 Sandro Mani - 9.0.1-6 +- Rebuild (gdal) + +* Fri Apr 02 2021 Orion Poplawski - 9.0.1-5 +- Make vtk-devel package require vtk-java + +* Sat Mar 13 2021 Orion Poplawski - 9.0.1-4 +- Add upstream patch for proj 5 support + +* Sun Mar 07 2021 Sandro Mani - 9.0.1-4 +- Rebuild (proj) + +* Mon Feb 15 2021 Orion Poplawski - 9.0.1-3 +- Bump python3-vtk-qt obsoletes + +* Mon Feb 08 2021 Pavel Raiskup - 9.0.1-2 +- rebuild for libpq ABI fix rhbz#1908268 + +* Sat Jan 30 2021 Orion Poplawski - 9.0.1-1 +- Update to 9.0.1 +- Disable OSMesa - conflicts with X support +- Build against Fedora gl2ps, libharu, utf8cpp +- Drop python3-vtk-qt packages +- No longer ship compiled examples +- Install jar file into /usr/share/java +- Fix JNI install location +- Drop Qt4 build option + +* Wed Jan 27 2021 Fedora Release Engineering - 8.2.0-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Nov 5 20:45:48 CET 2020 Sandro Mani - 8.2.0-25 +- Rebuild (proj) + +* Thu Sep 17 2020 Orion Poplawski - 8.2.0-24 +- Add patch to fix build with Qt 5.15 + +* Thu Aug 27 2020 Iñaki Úcar - 8.2.0-23 +- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager + +* Sun Aug 9 2020 Orion Poplawski - 8.2.0-22 +- Fix ExternalData in vtk-data (bz#1783622) + +* Tue Aug 4 2020 Orion Poplawski - 8.2.0-21 +- Use new cmake macros + +* Wed Jul 29 2020 Fedora Release Engineering - 8.2.0-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 24 2020 Jeff Law - 8.2.0-19 +- Use __cmake_in_source_build + +* Sat Jul 11 2020 Jiri Vanek - 8.2.0-18 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Thu Jun 25 2020 Orion Poplawski - 8.2.0-17 +- Rebuild for hdf5 1.10.6 + +* Sat Jun 20 2020 Orion Poplawski - 8.2.0-16 +- Drop _python_bytecompile_extra, python2 conditionals + +* Sat May 30 2020 Björn Esser - 8.2.0-15 +- Rebuild (jsoncpp) + +* Wed May 27 2020 Orion Poplawski - 8.2.0-14 +- Add patch to fix building with GCC 10 (bz#1800240) + +* Tue May 26 2020 Miro Hrončok - 8.2.0-14 +- Rebuilt for Python 3.9 + +* Fri Jan 31 2020 Fedora Release Engineering - 8.2.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Nov 14 2019 Björn Esser - 8.2.0-12 +- Rebuild (jsoncpp) + +* Sat Nov 9 2019 Orion Poplawski - 8.2.0-11 +- Drop BR on sip-devel (python2) + +* Sun Sep 22 2019 Orion Poplawski - 8.2.0-10 +- Rebuild for double-conversion 3.1.5 + +* Mon Sep 09 2019 Orion Poplawski - 8.2.0-9 +- Rebuild for proj 6.2.0 +- Add patch and flags for proj 6 support + +* Tue Aug 20 2019 Orion Poplawski - 8.2.0-8 +- Add upstream patch to support Python 3.8 + +* Mon Aug 19 2019 Miro Hrončok - 8.2.0-7 +- Rebuilt for Python 3.8 + +* Wed Jul 31 2019 Orion Poplawski - 8.2.0-6 +- BR motif-devel instead of /usr/include/Xm (bugz#1731728) + +* Sat Jul 27 2019 Fedora Release Engineering - 8.2.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jul 03 2019 Björn Esser - 8.2.0-4 +- Rebuild (jsoncpp) + +* Thu Apr 18 2019 Orion Poplawski - 8.2.0-3 +- Provide starndard python 3.Y dist name (bugz#1700307) + +* Tue Apr 16 2019 Orion Poplawski - 8.2.0-2 +- Provide standard python 3 dist name (bugz#1700307) + +* Sat Mar 16 2019 Orion Poplawski - 8.2.0-1 +- Update to 8.2.0 +- TCL wrapping has been dropped upstream +- Build with system glew + +* Fri Feb 15 2019 Orion Poplawski - 8.1.1-3 +- Rebuild for openmpi 3.1.3 + +* Sun Feb 03 2019 Fedora Release Engineering - 8.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Oct 26 2018 Orion Poplawski - 8.1.1-1 +- Update to 8.1.1 (bug #1460059) +- Use Qt 5 (bug #1319504) +- Use Python 3 for Fedora 30+ (bug #1549034) + +* Thu Sep 06 2018 Pavel Raiskup - 7.1.1-13 +- rebuild against libpq (rhbz#1618698, rhbz#1623764) + +* Sat Jul 14 2018 Fedora Release Engineering - 7.1.1-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Mar 07 2018 Adam Williamson - 7.1.1-11 +- Rebuild to fix GCC 8 mis-compilation + See https://da.gd/YJVwk ("GCC 8 ABI change on x86_64") + +* Fri Feb 09 2018 Fedora Release Engineering - 7.1.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Dec 26 2017 Björn Esser - 7.1.1-9 +- Rebuilt for jsoncpp.so.20 + +* Mon Dec 18 2017 Orion Poplawski - 7.1.1-8 +- Enable mysql and postgresql support +- Use mariadb BR for F28+ (Bug #1494054) + +* Fri Sep 01 2017 Björn Esser - 7.1.1-7 +- Rebuilt for jsoncpp-1.8.3 + +* Sat Aug 12 2017 Zbigniew Jędrzejewski-Szmek - 7.1.1-6 +- Python 2 binary packages renamed to python2-vtk and python2-vtk-qt + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Thu Aug 03 2017 Fedora Release Engineering - 7.1.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 7.1.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon May 15 2017 Fedora Release Engineering - 7.1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + +* Tue May 9 2017 Orion Poplawski - 7.1.1-2 +- Enable tests on s390x + +* Mon May 8 2017 Orion Poplawski - 7.1.1-1 +- Update to 7.1.1 + +* Sat Feb 11 2017 Fedora Release Engineering - 7.1.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Jan 3 2017 Dan Horák - 7.1.0-5 +- s390x needs increased Java heap size + +* Thu Dec 29 2016 Orion Poplawski - 7.1.0-4 +- Drop setting java heap size + +* Thu Dec 8 2016 Dan Horák - 7.1.0-3 +- Enable openmpi on s390(x) +- Add missing conditions for mpich/openmpi subpackages + +* Thu Dec 8 2016 Orion Poplawski - 7.1.0-2 +- Fix MPI library install location + +* Mon Dec 5 2016 Orion Poplawski - 7.1.0-1 +- Update to 7.1.0 +- Enable OSMesa +- Build MPI versions +- Use bundled glew + +* Wed Nov 2 2016 Orion Poplawski - 6.3.0-12 +- Rebuild for R openblas changes + +* Mon Oct 03 2016 Björn Esser - 6.3.0-11 +- Rebuilt for libjsoncpp.so.11 + +* Thu Jul 28 2016 Than Ngo - 6.3.0-10 +- %%check: make non-fatal as temporary workaround for build on s390x + +* Tue Jul 19 2016 Fedora Release Engineering - 6.3.0-9 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Wed Jun 29 2016 Orion Poplawski - 6.3.0-8 +- Rebuild for hdf5 1.8.17 + +* Fri Mar 25 2016 Björn Esser - 6.3.0-7 +- Rebuilt for libjsoncpp.so.1 + +* Mon Feb 8 2016 Orion Poplawski - 6.3.0-6 +- Add patch for gcc 6 support + +* Fri Feb 05 2016 Fedora Release Engineering - 6.3.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 22 2016 Orion Poplawski - 6.3.0-4 +- Rebuild for netcdf 4.4.0 + +* Sat Jan 16 2016 Jonathan Wakely - 6.3.0-3 +- Rebuilt for Boost 1.60 + +* Wed Oct 21 2015 Orion Poplawski - 6.3.0-2 +- Note bundled libraries + +* Tue Sep 15 2015 Orion Poplawski - 6.3.0-1 +- Update to 6.3.0 + +* Thu Aug 27 2015 Jonathan Wakely - 6.2.0-10 +- Rebuilt for Boost 1.59 + +* Fri Aug 21 2015 Orion Poplawski - 6.2.0-9 +- Note bundled kwsys, remove unused kwsys files + +* Wed Jul 29 2015 Fedora Release Engineering - 6.2.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 + +* Wed Jul 22 2015 David Tardon - 6.2.0-7 +- rebuild for Boost 1.58 + +* Tue Jul 7 2015 Orion Poplawski - 6.2.0-6 +- Drop glext patch, no longer needed + +* Fri Jun 19 2015 Fedora Release Engineering - 6.2.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 23 2015 Orion Poplawski - 6.2.0-4 +- Add requires netcdf-cxx-devel to vtk-devel (bug #1224512) + +* Sun May 17 2015 Orion Poplawski - 6.2.0-3 +- Rebuild for hdf5 1.8.15 + +* Sat May 02 2015 Kalev Lember - 6.2.0-2 +- Rebuilt for GCC 5 C++11 ABI change + +* Wed Mar 18 2015 Orion Poplawski - 6.2.0-1 +- Update to 6.2.0 +- Remove type, system, install, and netcdf patches applied upstream +- Integrate and replace vtkdata +- Build and run tests again +- Generate testing.list based on executable name + +* Thu Mar 05 2015 Orion Poplawski - 6.1.0-26 +- Add needed vtk-*-devel requires to vtk-devel (bug #1199310) + +* Wed Mar 04 2015 Orion Poplawski - 6.1.0-25 +- Rebuild for jsoncpp + +* Wed Feb 04 2015 Petr Machata - 6.1.0-24 +- Bump for rebuild. + +* Tue Feb 3 2015 Orion Poplawski - 6.1.0-23 +- Add patch to fix tcl library loading + +* Mon Jan 26 2015 Petr Machata - 6.1.0-22 +- Rebuild for boost 1.57.0 + +* Mon Jan 19 2015 François Cami - 6.1.0-21 +- Switch to non-explicit arch requires for now (bugs #1183210 #1183530) + +* Sat Jan 17 2015 François Cami - 6.1.0-20 +- Add jsoncpp-devel and python2-devel to vtk-devel Requires (bug #1183210) + +* Thu Jan 08 2015 Orion Poplawski - 6.1.0-19 +- Rebuild for hdf5 1.8.14 +- Add patch to fix compilation error + +* Thu Nov 20 2014 Dan Horák - 6.1.0-18 +- Don't override Java memory settings on s390 (related to bug #1115920) + +* Wed Nov 19 2014 Orion Poplawski - 6.1.0-17 +- Add patch to fix compilation with mesa 10.4 (bug #1138466) + +* Fri Oct 31 2014 Orion Poplawski - 6.1.0-16 +- No longer need cmake28 on RHEL6 + +* Thu Sep 4 2014 Orion Poplawski - 6.1.0-15 +- Increase java heap space for builds (bug #1115920) + +* Mon Aug 18 2014 Fedora Release Engineering - 6.1.0-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Jun 10 2014 Orion Poplawski - 6.1.0-13 +- Rebuild for hdf 1.8.13 + +* Sun Jun 08 2014 Fedora Release Engineering - 6.1.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Jun 5 2014 Orion Poplawski - 6.1.0-11 +- Add requires on blas-devel and lapack-devel to vtk-devel (bug #1105004) + +* Tue May 27 2014 Orion Poplawski - 6.1.0-10 +- Rebuild for Tcl 8.6 + +* Fri May 23 2014 Petr Machata - 6.1.0-9 +- Rebuild for boost 1.55.0 + +* Wed May 21 2014 Jaroslav Škarvada - 6.1.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86 + +* Tue May 6 2014 Tom Callaway - 6.1.0-7 +- rebuild against R 3.1.0 (without bundled blas/lapack) + +* Wed Mar 26 2014 Orion Poplawski - 6.1.0-5 +- Add Requires: qtwebkit-devel and hdf5-devel to vtk-devel (bug #1080781) + +* Tue Jan 28 2014 Orion Poplawski - 6.1.0-4 +- Really fix requires freetype-devel + +* Mon Jan 27 2014 Orion Poplawski - 6.1.0-3 +- Fix requires freetype-devel + +* Sun Jan 26 2014 Orion Poplawski - 6.1.0-2 +- Add Requires: libfreetype-devel; libxml2-devel to vtk-devel (bug #1057924) + +* Thu Jan 23 2014 Orion Poplawski - 6.1.0-1 +- Update to 6.1.0 +- Rebase patches, drop vtkpython patch +- Disable BUILD_TESTING for now until we can provide test data + +* Fri Dec 27 2013 Orion Poplawski - 6.0.0-10 +- Add patch to use system netcdf + +* Sun Dec 22 2013 Kevin Fenzi 6.0.0-9 +- Add BuildRequires on blas-devel and lapack-devel + +* Sun Dec 22 2013 François Cami - 6.0.0-8 +* Rebuild for rawhide. + +* Sun Aug 04 2013 Fedora Release Engineering - 6.0.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jul 30 2013 Petr Machata - 6.0.0-6 +- Rebuild for boost 1.54.0 + +* Mon Jul 29 2013 Orion Poplawski - 6.0.0-5 +- Enable VTK_WRAP_PYTHON_SIP + +* Fri Jul 26 2013 Orion Poplawski - 6.0.0-4 +- Add patch to install vtkpython + +* Wed Jul 17 2013 Petr Pisar - 6.0.0-3 +- Perl 5.18 rebuild + +* Mon Jul 15 2013 Orion Poplawski - 6.0.0-2 +- Install vtkMakeInstantiator files for gdcm build + +* Fri Jul 12 2013 Orion Poplawski - 6.0.0-1 +- Add BR on R-devel + +* Thu Jun 27 2013 Orion Poplawski - 6.0.0-1 +- Update to 6.0.0 + +* Thu May 16 2013 Orion Poplawski - 5.10.1-5 +- Rebuild for hdf5 1.8.11 + +* Fri Feb 15 2013 Fedora Release Engineering - 5.10.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Jan 21 2013 Adam Tkac - 5.10.1-3 +- rebuild due to "jpeg8-ABI" feature drop + +* Mon Dec 03 2012 Orion Poplawski - 5.10.1-2 +- Rebuild for hdf5 1.8.10 +- Change doc handling + +* Thu Nov 1 2012 Orion Poplawski - 5.10.1-1 +- Update to 5.10.1 + +* Sun Jul 22 2012 Fedora Release Engineering - 5.10.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu May 24 2012 Orion Poplawski - 5.10.0-2 +- Add patch to add soname to libvtkNetCDF_cxx + +* Tue May 15 2012 Orion Poplawski - 5.10.0-1 +- Update to 5.10.0 + +* Tue May 15 2012 Jonathan G. Underwood - 5.8.0-6 +- Add cmake28 usage when building for EL6 +- Disable -java build on PPC64 as it fails to build + +* Tue Feb 28 2012 Fedora Release Engineering - 5.8.0-5 +- Rebuilt for c++ ABI breakage + +* Sun Jan 8 2012 Orion Poplawski - 5.8.0-4 +- Rebuild with gcc 4.7 + +* Fri Nov 18 2011 Orion Poplawski - 5.8.0-3 +- Rebuild for hdf5 1.8.8, add explicit requires + +* Tue Nov 1 2011 Orion Poplawski - 5.8.0-2 +- Keep libraries in %%{_libdir}/vtk, use ld.so.conf.d + +* Fri Oct 7 2011 Orion Poplawski - 5.8.0-1 +- Update to 5.8.0 +- Drop version from directory names +- Use VTK_PYTHON_SETUP_ARGS instead of patch to set python install dir +- Drop several patches fixed upstream +- Remove rpaths from all hand installed binaries (Bug 744437) +- Don't link against OSMesa (Bug 744434) + +* Thu Jun 23 2011 Orion Poplawski - 5.6.1-10 +- Add BR qtwebkit-devel, fixes FTBS bug 715770 + +* Thu May 19 2011 Orion Poplawski - 5.6.1-9 +- Update soversion patch to add soversion to libvtkNetCDF.so + +* Mon Mar 28 2011 Orion Poplawski - 5.6.1-8 +- Rebuild for new mysql + +* Thu Mar 17 2011 Orion Poplawski - 5.6.1-7 +- Add needed requires to vtk-devel + +* Wed Mar 16 2011 Orion Poplawski - 5.6.1-6 +- Turn on boost, mysql, postgres, ogg theora, and text analysis support, + bug 688275. + +* Wed Mar 16 2011 Marek Kasik - 5.6.1-5 +- Add backslashes to VTK_INSTALL_LIB_DIR and +- VTK_INSTALL_INCLUDE_DIR (#687895) + +* Tue Mar 15 2011 Orion Poplawski - 5.6.1-4 +- Set VTK_INSTALL_LIB_DIR, fix bug 687895 + +* Fri Feb 18 2011 Orion Poplawski - 5.6.1-3 +- Add patch to support gcc 4.6 +- Add patch to make using system libraries easier +- Update pythondestdir patch to use --prefix and --root +- Use system gl2ps and libxml2 +- Use standard cmake build macro, out of tree builds +- Add patch from upstream to add sonames to libCosmo and libVPIC (bug #622840) + +* Mon Feb 07 2011 Fedora Release Engineering - 5.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Dec 7 2010 Orion Poplawski - 5.6.1-1 +- Update to 5.6.1 +- Enable qt4 support, drop qt3 support + +* Wed Oct 20 2010 Adam Jackson 5.6.0-37 +- Rebuild for new libOSMesa soname + +* Sat Jul 31 2010 David Malcolm - 5.6.0-36 +- add python 2.7 compat patch + +* Thu Jul 22 2010 David Malcolm - 5.6.0-35 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Mon Jul 5 2010 Axel Thimm - 5.6.0-34 +- Update to 5.6.0. + +* Sat Jun 6 2009 Axel Thimm - 5.4.2-30 +- Update to 5.4.2. + +* Thu Mar 12 2009 Orion Poplawski - 5.2.1-29 +- Update to 5.2.1 + +* Fri Mar 06 2009 Jesse Keating - 5.2.0-28 +- Remove chmod on examples .so files, none are built. This needs + more attention. + +* Sun Oct 5 2008 Axel Thimm - 5.2.0-26 +- Update to 5.2.0. + +* Wed Oct 1 2008 Orion Poplawski - 5.0.2-25 +- Fix patch fuzz + +* Mon Aug 25 2008 Axel Thimm - 5.0.4-24 +- Change java build dependencies from java-devel to gcj. + +* Sun Aug 24 2008 Axel Thimm - 5.0.4-23 +- %%check || : does not work anymore. +- enable java by default. + +* Wed May 21 2008 Tom "spot" Callaway - 5.0.4-22 +- fix license tag + +* Sat Apr 12 2008 Axel Thimm - 5.0.4-21 +- Fixes for gcc 4.3 by Orion Poplawski. + +* Sat Apr 5 2008 Axel Thimm - 5.0.4-20 +- Change BR to qt-devel to qt3-devel. + +* Sat Feb 23 2008 Axel Thimm - 5.0.4-19 +- Update to 5.0.4. + +* Mon May 28 2007 Axel Thimm - 5.0.3-18 +- Move headers to %%{_includedir}/vtk. +- Remove executable bit from sources. + +* Mon Apr 16 2007 Axel Thimm - 5.0.3-17 +- Make java build conditional. +- Add ldconfig %%post/%%postun for java/qt subpackages. + +* Sun Apr 15 2007 Axel Thimm - 5.0.3-16 +- Remove %%ghosting pyc/pyo. + +* Wed Apr 04 2007 Paulo Roma - 5.0.3-15 +- Update to 5.0.4. +- Added support for qt4 plugin. + +* Wed Feb 7 2007 Orion Poplawski - 5.0.2-14 +- Enable Java, Qt, GL2PS, OSMESA + +* Mon Sep 11 2006 Axel Thimm - 5.0.2-13 +- Update to 5.0.2. + +* Sun Aug 6 2006 Axel Thimm - 5.0.1-12 +- cmake needs to be >= 2.0.4. + +* Fri Aug 4 2006 Axel Thimm - 5.0.1-11 +- Fix some python issues including pyo management. + +* Sun Jul 23 2006 Axel Thimm - 5.0.1-10 +- Embed feedback from bug 199405 comment 5. +- Fix some Group entries. +- Remove redundant dependencies. +- Use system libs. +- Comment specfile more. +- Change buildroot handling with CMAKE_INSTALL_PREFIX. +- Enable qt designer plugin. + +* Wed Jul 19 2006 Axel Thimm - 5.0.1-7 +- Fix some permissions for rpmlint and debuginfo. + +* Sun Jul 16 2006 Axel Thimm - 5.0.1-7 +- Remove rpath and some further rpmlint warnings. + +* Thu Jul 13 2006 Axel Thimm - 5.0.1-6 +- Update to 5.0.1. + +* Wed May 31 2006 Axel Thimm +- Update to 5.0. + +* Mon Apr 05 2004 Intrinsic Spin 2.mr +- built on a machine with a stock libGL.so + +* Sun Apr 04 2004 Intrinsic Spin +- little cleanups +- Built for FC1 + +* Sun Jan 11 2004 Intrinsic Spin +- Built against a reasonably good (according to dashboard) CVS version so-as + to get GL2PS support. +- Rearranged. Cleaned up. Added some comments. + +* Sat Jan 10 2004 Intrinsic Spin +- Blatently stole this spec file for my own nefarious purposes. +- Removed Java (for now). Merged the Python and Tcl stuff into + the main rpm. + +* Fri Dec 05 2003 Fabrice Bellet +- (See Fabrice's RPMs for any more comments --Spin) diff --git a/sources b/sources index 29ca26c..be5d56c 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -25e4dfb3bad778722dcaec80cd5dab7d VTK-6.1.0.tar.gz +SHA512 (VTK-9.5.2.tar.gz) = fc8157a89fa603a7f7fce356e2f638ae69e0ea629a507458bdbb173daf511c61e39a1f0d7201b196a5b3a7ffa7e3e821398b62521faadf85edb1119a1e8b8e8e +SHA512 (VTKData-9.5.2.tar.gz) = 1be895bed613ed0f0ace0ba5e138afacc3d61b57e437299b3aecf6beff702ad1a2d02036fd147853bbbcb6a1f9d20a51831c0263fdc5b8e62ece9a6f8f7d410e diff --git a/vtk-6.1.0-netcdf.patch b/vtk-6.1.0-netcdf.patch deleted file mode 100644 index e6f8b64..0000000 --- a/vtk-6.1.0-netcdf.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -up VTK/ThirdParty/netcdf/CMakeLists.txt.netcdf VTK/ThirdParty/netcdf/CMakeLists.txt ---- VTK/ThirdParty/netcdf/CMakeLists.txt.netcdf 2013-12-27 20:29:11.644289659 -0700 -+++ VTK/ThirdParty/netcdf/CMakeLists.txt 2013-12-27 20:33:48.071895769 -0700 -@@ -1,10 +1,18 @@ --vtk_module_third_party(NetCDF -- LIBRARIES vtkNetCDF vtkNetCDF_cxx -- INCLUDE_DIRS -- ${CMAKE_CURRENT_SOURCE_DIR}/vtknetcdf/include -- ${CMAKE_CURRENT_BINARY_DIR}/vtknetcdf -- COMPONENTS C CXX -- ) -+if(NOT VTK_USE_SYSTEM_NETCDF) -+ vtk_module_third_party(NetCDF -+ LIBRARIES vtkNetCDF vtkNetCDF_cxx -+ INCLUDE_DIRS -+ ${CMAKE_CURRENT_SOURCE_DIR}/vtknetcdf/include -+ ${CMAKE_CURRENT_BINARY_DIR}/vtknetcdf -+ COMPONENTS C CXX -+ ) -+else(NOT VTK_USE_SYSTEM_NETCDF) -+ vtk_module_third_party(NetCDF -+ LIBRARIES vtkNetCDF netcdf -+ COMPONENTS C CXX -+ ) -+endif() -+ - - #Configure the top cpp header to switch between system and internal - #netcdf just like vtk_module_third_party does for the c header. diff --git a/vtk-6.1.0-system.patch b/vtk-6.1.0-system.patch deleted file mode 100644 index c75d544..0000000 --- a/vtk-6.1.0-system.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -up VTK/CMake/vtkModuleMacros.cmake.system VTK/CMake/vtkModuleMacros.cmake ---- VTK/CMake/vtkModuleMacros.cmake.system 2013-12-24 19:17:43.000000000 -0700 -+++ VTK/CMake/vtkModuleMacros.cmake 2013-12-27 20:28:22.375573277 -0700 -@@ -682,7 +682,7 @@ macro(vtk_module_third_party _pkg) - message(FATAL_ERROR "Cannot specify both LIBRARIES and NO_LIBRARIES") - endif() - -- option(VTK_USE_SYSTEM_${_upper} "Use system-installed ${_pkg}" OFF) -+ option(VTK_USE_SYSTEM_${_upper} "Use system-installed ${_pkg}" ${VTK_USE_SYSTEM_LIBRARIES}) - mark_as_advanced(VTK_USE_SYSTEM_${_upper}) - - if(VTK_USE_SYSTEM_${_upper}) -diff -up VTK/CMakeLists.txt.system VTK/CMakeLists.txt ---- VTK/CMakeLists.txt.system 2013-12-27 20:28:22.374573241 -0700 -+++ VTK/CMakeLists.txt 2013-12-27 20:28:48.118669708 -0700 -@@ -132,6 +132,11 @@ if (CMAKE_CROSSCOMPILING AND NOT COMPILE - endif() - - #----------------------------------------------------------------------------- -+# Do we try to use system libraries by default? -+OPTION(VTK_USE_SYSTEM_LIBRARIES "Use the system's libraries by default." OFF) -+MARK_AS_ADVANCED(VTK_USE_SYSTEM_LIBRARIES) -+ -+#----------------------------------------------------------------------------- - # The third party macros are still used in one or two third party builds. - include(vtkThirdParty) - diff --git a/vtk-chobo-cstdint.patch b/vtk-chobo-cstdint.patch new file mode 100644 index 0000000..162259e --- /dev/null +++ b/vtk-chobo-cstdint.patch @@ -0,0 +1,22 @@ +diff -up VTK-9.3.1/ThirdParty/diy2/vtkdiy2/include/vtkdiy2/chobo/small_vector.hpp.cstdint VTK-9.3.1/ThirdParty/diy2/vtkdiy2/include/vtkdiy2/chobo/small_vector.hpp +--- VTK-9.3.1/ThirdParty/diy2/vtkdiy2/include/vtkdiy2/chobo/small_vector.hpp.cstdint 2024-06-28 10:00:10.000000000 -0600 ++++ VTK-9.3.1/ThirdParty/diy2/vtkdiy2/include/vtkdiy2/chobo/small_vector.hpp 2025-02-17 17:08:44.231541639 -0700 +@@ -138,6 +138,7 @@ + + #include + #include ++#include + #include + + #define CHOBO_SMALL_VECTOR_ERROR_HANDLING_NONE 0 +diff -up VTK-9.3.1/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/thirdparty/diy/vtkmdiy/include/vtkmdiy/thirdparty/chobo/small_vector.hpp.cstdint VTK-9.3.1/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/thirdparty/diy/vtkmdiy/include/vtkmdiy/thirdparty/chobo/small_vector.hpp +--- VTK-9.3.1/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/thirdparty/diy/vtkmdiy/include/vtkmdiy/thirdparty/chobo/small_vector.hpp.cstdint 2024-06-28 10:00:10.000000000 -0600 ++++ VTK-9.3.1/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/thirdparty/diy/vtkmdiy/include/vtkmdiy/thirdparty/chobo/small_vector.hpp 2025-02-17 17:08:27.992495226 -0700 +@@ -138,6 +138,7 @@ + + #include + #include ++#include + #include + + #define CHOBO_SMALL_VECTOR_ERROR_HANDLING_NONE 0 diff --git a/vtk-install.patch b/vtk-install.patch deleted file mode 100644 index 27c6c3a..0000000 --- a/vtk-install.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up VTK-6.1.0/CMake/vtkModuleTop.cmake.install VTK-6.1.0/CMake/vtkModuleTop.cmake ---- VTK-6.1.0/CMake/vtkModuleTop.cmake.install 2014-01-23 19:12:04.922871103 -0700 -+++ VTK-6.1.0/CMake/vtkModuleTop.cmake 2014-01-23 19:14:33.002645155 -0700 -@@ -330,11 +330,15 @@ if (NOT VTK_INSTALL_NO_DEVELOPMENT) - CMake/pythonmodules.h.in - CMake/UseVTK.cmake - CMake/FindTCL.cmake -+ CMake/TopologicalSort.cmake - CMake/vtkTclTkMacros.cmake - CMake/vtk-forward.c.in -+ CMake/vtkGroups.cmake - CMake/vtkForwardingExecutable.cmake - CMake/vtkJavaWrapping.cmake - CMake/vtkMakeInstantiator.cmake -+ CMake/vtkMakeInstantiator.cxx.in -+ CMake/vtkMakeInstantiator.h.in - CMake/vtkModuleAPI.cmake - CMake/vtkModuleHeaders.cmake.in - CMake/vtkModuleInfo.cmake.in diff --git a/vtk-libharu.patch b/vtk-libharu.patch new file mode 100644 index 0000000..7100aa3 --- /dev/null +++ b/vtk-libharu.patch @@ -0,0 +1,13 @@ +diff --git a/ThirdParty/libharu/CMakeLists.txt b/ThirdParty/libharu/CMakeLists.txt +index b18b7a1..3793f4b 100644 +--- a/ThirdParty/libharu/CMakeLists.txt ++++ b/ThirdParty/libharu/CMakeLists.txt +@@ -5,7 +5,7 @@ vtk_module_third_party( + STANDARD_INCLUDE_DIRS + EXTERNAL + PACKAGE LibHaru +- VERSION 2.4.0 ++ VERSION 2.3.0 + TARGETS LibHaru::LibHaru + STANDARD_INCLUDE_DIRS) + diff --git a/vtk-ppc64-no-always-inline.patch b/vtk-ppc64-no-always-inline.patch new file mode 100644 index 0000000..9705931 --- /dev/null +++ b/vtk-ppc64-no-always-inline.patch @@ -0,0 +1,13 @@ +diff --git a/Common/Core/vtkDataArrayMeta.h b/Common/Core/vtkDataArrayMeta.h +index 602305d3ed..8c37a96891 100644 +--- a/Common/Core/vtkDataArrayMeta.h ++++ b/Common/Core/vtkDataArrayMeta.h +@@ -32,7 +32,7 @@ + #endif + + #if (defined(VTK_ALWAYS_OPTIMIZE_ARRAY_ITERATORS) || !defined(VTK_DEBUG_RANGE_ITERATORS)) && \ +- !defined(VTK_COMPILER_MSVC) ++ !defined(VTK_COMPILER_MSVC) && !defined(__PPC64__) + #define VTK_ITER_INLINE VTK_ALWAYS_INLINE + #define VTK_ITER_ASSUME VTK_ASSUME_NO_ASSERT + #define VTK_ITER_OPTIMIZE_START VTK_ALWAYS_OPTIMIZE_START diff --git a/vtk-tk9.patch b/vtk-tk9.patch new file mode 100644 index 0000000..895669f --- /dev/null +++ b/vtk-tk9.patch @@ -0,0 +1,489 @@ +commit b7c22497712be6751fbefe155533ae34d5e381f5 +Author: Spiros Tsalikis +Date: Thu May 22 12:30:19 2025 -0400 + + Tcl/Tk: Support version 9.0.0 + +diff --git a/Rendering/Tk/vtkTkImageViewerWidget.cxx b/Rendering/Tk/vtkTkImageViewerWidget.cxx +index 43c7a48a13..9d2c4210de 100644 +--- a/Rendering/Tk/vtkTkImageViewerWidget.cxx ++++ b/Rendering/Tk/vtkTkImageViewerWidget.cxx +@@ -23,6 +23,17 @@ + #include + #include + ++#if (TCL_MAJOR_VERSION >= 9) ++#define VTK_TCL_CONST const ++#elif ((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4)) ++#define VTK_TCL_CONST CONST84 ++#else ++#define VTK_TCL_CONST ++#endif ++#ifndef offsetof ++#define offsetof(type, field) ((size_t)((char*)&((type*)0)->field)) ++#endif ++ + #define VTK_ALL_EVENTS_MASK \ + KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask | EnterWindowMask | \ + LeaveWindowMask | PointerMotionMask | ExposureMask | VisibilityChangeMask | FocusChangeMask | \ +@@ -32,14 +43,14 @@ + // or with the command configure. The only new one is "-rw" which allows + // the uses to set their own ImageViewer window. + static Tk_ConfigSpec vtkTkImageViewerWidgetConfigSpecs[] = { +- { TK_CONFIG_PIXELS, (char*)"-height", (char*)"height", (char*)"Height", (char*)"400", +- Tk_Offset(struct vtkTkImageViewerWidget, Height), 0, nullptr }, ++ { TK_CONFIG_PIXELS, "-height", "height", "Height", "400", ++ offsetof(struct vtkTkImageViewerWidget, Height), 0, nullptr }, + +- { TK_CONFIG_PIXELS, (char*)"-width", (char*)"width", (char*)"Width", (char*)"400", +- Tk_Offset(struct vtkTkImageViewerWidget, Width), 0, nullptr }, ++ { TK_CONFIG_PIXELS, "-width", "width", "Width", "400", ++ offsetof(struct vtkTkImageViewerWidget, Width), 0, nullptr }, + +- { TK_CONFIG_STRING, (char*)"-iv", (char*)"iv", (char*)"IV", (char*)"", +- Tk_Offset(struct vtkTkImageViewerWidget, IV), 0, nullptr }, ++ { TK_CONFIG_STRING, "-iv", "iv", "IV", "", offsetof(struct vtkTkImageViewerWidget, IV), 0, ++ nullptr }, + + { TK_CONFIG_END, nullptr, nullptr, nullptr, nullptr, 0, 0, nullptr } + }; +@@ -56,17 +67,22 @@ extern int vtkImageViewerCommand(ClientData cd, Tcl_Interp* interp, int argc, ch + //------------------------------------------------------------------------------ + // It's possible to change with this function or in a script some + // options like width, height or the ImageViewer widget. +-int vtkTkImageViewerWidget_Configure( +- Tcl_Interp* interp, struct vtkTkImageViewerWidget* self, int argc, char* argv[], int flags) ++#if (TCL_MAJOR_VERSION >= 9) ++int vtkTkImageViewerWidget_Configure(Tcl_Interp* interp, struct vtkTkImageViewerWidget* self, ++ Tcl_Size objc, Tcl_Obj* const* objv, int flags) ++#else ++int vtkTkImageViewerWidget_Configure(Tcl_Interp* interp, struct vtkTkImageViewerWidget* self, ++ int argc, VTK_TCL_CONST char* argv[], int flags) ++#endif + { + // Let Tk handle generic configure options. +- if (Tk_ConfigureWidget(interp, self->TkWin, vtkTkImageViewerWidgetConfigSpecs, argc, +-#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4) +- const_cast(argv), ++#if (TCL_MAJOR_VERSION >= 9) ++ if (Tk_ConfigureWidget(interp, self->TkWin, vtkTkImageViewerWidgetConfigSpecs, objc, objv, ++ (void*)self, flags) == TCL_ERROR) + #else +- argv, +-#endif ++ if (Tk_ConfigureWidget(interp, self->TkWin, vtkTkImageViewerWidgetConfigSpecs, argc, argv, + (char*)self, flags) == TCL_ERROR) ++#endif + { + return (TCL_ERROR); + } +@@ -89,11 +105,8 @@ int vtkTkImageViewerWidget_Configure( + // to choose the appropriate method to invoke. + extern "C" + { +- int vtkTkImageViewerWidget_Widget(ClientData clientData, Tcl_Interp* interp, int argc, +-#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4) +- CONST84 +-#endif +- char* argv[]) ++ int vtkTkImageViewerWidget_Widget( ++ ClientData clientData, Tcl_Interp* interp, int argc, VTK_TCL_CONST char* argv[]) + { + struct vtkTkImageViewerWidget* self = (struct vtkTkImageViewerWidget*)clientData; + int result = TCL_OK; +@@ -106,7 +119,11 @@ extern "C" + } + + // Make sure the widget is not deleted during this function ++#if (TCL_MAJOR_VERSION >= 9) ++ Tcl_Preserve((ClientData)self); ++#else + Tk_Preserve((ClientData)self); ++#endif + + // Handle render call to the widget + if (strncmp(argv[1], "render", std::max(1, strlen(argv[1]))) == 0 || +@@ -137,13 +154,27 @@ extern "C" + else + { + /* Execute a configuration change */ +- result = vtkTkImageViewerWidget_Configure(interp, self, argc - 2, +-#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4) +- const_cast(argv + 2), ++#if (TCL_MAJOR_VERSION >= 9) ++ // Convert string arguments to Tcl_Obj for TCL 9.0 ++ Tcl_Obj** objv_config = (Tcl_Obj**)ckalloc((argc - 2) * sizeof(Tcl_Obj*)); ++ for (int i = 0; i < argc - 2; i++) ++ { ++ objv_config[i] = Tcl_NewStringObj(argv[i + 2], -1); ++ Tcl_IncrRefCount(objv_config[i]); ++ } ++ result = vtkTkImageViewerWidget_Configure( ++ interp, self, argc - 2, objv_config, TK_CONFIG_ARGV_ONLY); ++ ++ // Clean up the Tcl_Obj array ++ for (int i = 0; i < argc - 2; i++) ++ { ++ Tcl_DecrRefCount(objv_config[i]); ++ } ++ ckfree((char*)objv_config); + #else +- argv + 2, ++ result = ++ vtkTkImageViewerWidget_Configure(interp, self, argc - 2, argv + 2, TK_CONFIG_ARGV_ONLY); + #endif +- TK_CONFIG_ARGV_ONLY); + } + } + else if (!strcmp(argv[1], "GetImageViewer")) +@@ -165,7 +196,11 @@ extern "C" + } + + // Unlock the object so it can be deleted. ++#if (TCL_MAJOR_VERSION >= 9) ++ Tcl_Release((ClientData)self); ++#else + Tk_Release((ClientData)self); ++#endif + return result; + } + } +@@ -181,16 +216,10 @@ extern "C" + // * Configures this vtkTkImageViewerWidget for the given arguments + extern "C" + { +- int vtkTkImageViewerWidget_Cmd(ClientData clientData, Tcl_Interp* interp, int argc, +-#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4) +- CONST84 +-#endif +- char** argv) ++ int vtkTkImageViewerWidget_Cmd( ++ ClientData clientData, Tcl_Interp* interp, int argc, VTK_TCL_CONST char** argv) + { +-#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4) +- CONST84 +-#endif +- char* name; ++ VTK_TCL_CONST char* name; + Tk_Window main = (Tk_Window)clientData; + Tk_Window tkwin; + struct vtkTkImageViewerWidget* self; +@@ -233,13 +262,37 @@ extern "C" + vtkTkImageViewerWidget_EventProc, (ClientData)self); + + // Configure vtkTkImageViewerWidget widget +- if (vtkTkImageViewerWidget_Configure(interp, self, argc - 2, +-#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4) +- const_cast(argv + 2), ++#if (TCL_MAJOR_VERSION >= 9) ++ // Convert string arguments to Tcl_Obj for TCL 9.0 ++ Tcl_Obj** objv_init = (Tcl_Obj**)ckalloc((argc - 2) * sizeof(Tcl_Obj*)); ++ for (int i = 0; i < argc - 2; i++) ++ { ++ objv_init[i] = Tcl_NewStringObj(argv[i + 2], -1); ++ Tcl_IncrRefCount(objv_init[i]); ++ } ++ ++ if (vtkTkImageViewerWidget_Configure(interp, self, argc - 2, objv_init, 0) == TCL_ERROR) ++ { ++ // Clean up before error return ++ for (int i = 0; i < argc - 2; i++) ++ { ++ Tcl_DecrRefCount(objv_init[i]); ++ } ++ ckfree((char*)objv_init); ++ ++ Tk_DestroyWindow(tkwin); ++ Tcl_DeleteCommand(interp, (char*)"vtkTkImageViewerWidget"); ++ return TCL_ERROR; ++ } ++ ++ // Clean up the Tcl_Obj array ++ for (int i = 0; i < argc - 2; i++) ++ { ++ Tcl_DecrRefCount(objv_init[i]); ++ } ++ ckfree((char*)objv_init); + #else +- argv + 2, +-#endif +- 0) == TCL_ERROR) ++ if (vtkTkImageViewerWidget_Configure(interp, self, argc - 2, argv + 2, 0) == TCL_ERROR) + { + Tk_DestroyWindow(tkwin); + Tcl_DeleteCommand(interp, (char*)"vtkTkImageViewerWidget"); +@@ -247,6 +300,7 @@ extern "C" + // free(self); + return TCL_ERROR; + } ++#endif + + Tcl_AppendResult(interp, Tk_PathName(tkwin), nullptr); + return TCL_OK; +@@ -255,7 +309,11 @@ extern "C" + + extern "C" + { ++#if (TCL_MAJOR_VERSION >= 9) ++ void vtkTkImageViewerWidget_Destroy(void* memPtr) ++#else + void vtkTkImageViewerWidget_Destroy(char* memPtr) ++#endif + { + struct vtkTkImageViewerWidget* self = (struct vtkTkImageViewerWidget*)memPtr; + +diff --git a/Rendering/Tk/vtkTkRenderWidget.cxx b/Rendering/Tk/vtkTkRenderWidget.cxx +index 6ddaa5816a..84c940b484 100644 +--- a/Rendering/Tk/vtkTkRenderWidget.cxx ++++ b/Rendering/Tk/vtkTkRenderWidget.cxx +@@ -29,6 +29,17 @@ + #include + #include + ++#if (TCL_MAJOR_VERSION >= 9) || ((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 6)) ++#define VTK_TCL_CONST const ++#elif ((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4)) ++#define VTK_TCL_CONST CONST84 ++#else ++#define VTK_TCL_CONST ++#endif ++#ifndef offsetof ++#define offsetof(type, field) ((size_t)((char*)&((type*)0)->field)) ++#endif ++ + // Silence warning like + // "dereferencing type-punned pointer will break strict-aliasing rules" + // it happens because this kind of expression: (long *)&ptr +@@ -45,14 +56,13 @@ + // or with the command configure. The only new one is "-rw" which allows + // the uses to set their own render window. + static Tk_ConfigSpec vtkTkRenderWidgetConfigSpecs[] = { +- { TK_CONFIG_PIXELS, (char*)"-height", (char*)"height", (char*)"Height", (char*)"400", +- Tk_Offset(struct vtkTkRenderWidget, Height), 0, nullptr }, ++ { TK_CONFIG_PIXELS, "-height", "height", "Height", "400", ++ offsetof(struct vtkTkRenderWidget, Height), 0, nullptr }, + +- { TK_CONFIG_PIXELS, (char*)"-width", (char*)"width", (char*)"Width", (char*)"400", +- Tk_Offset(struct vtkTkRenderWidget, Width), 0, nullptr }, ++ { TK_CONFIG_PIXELS, "-width", "width", "Width", "400", offsetof(struct vtkTkRenderWidget, Width), ++ 0, nullptr }, + +- { TK_CONFIG_STRING, (char*)"-rw", (char*)"rw", (char*)"RW", (char*)"", +- Tk_Offset(struct vtkTkRenderWidget, RW), 0, nullptr }, ++ { TK_CONFIG_STRING, "-rw", "rw", "RW", "", offsetof(struct vtkTkRenderWidget, RW), 0, nullptr }, + + { TK_CONFIG_END, nullptr, nullptr, nullptr, nullptr, 0, 0, nullptr } + }; +@@ -113,11 +123,8 @@ extern "C" + #define VTKIMAGEDATATOTKPHOTO_CORONAL 0 + #define VTKIMAGEDATATOTKPHOTO_SAGITTAL 1 + #define VTKIMAGEDATATOTKPHOTO_TRANSVERSE 2 +- int vtkImageDataToTkPhoto_Cmd(ClientData vtkNotUsed(clientData), Tcl_Interp* interp, int argc, +-#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4) +- CONST84 +-#endif +- char** argv) ++ int vtkImageDataToTkPhoto_Cmd( ++ ClientData vtkNotUsed(clientData), Tcl_Interp* interp, int argc, VTK_TCL_CONST char** argv) + { + int status = 0; + vtkImageData* image; +@@ -330,8 +337,14 @@ extern "C" + block.offset[3] = 3; + break; + } ++#if (TCL_MAJOR_VERSION >= 9) ++ Tk_PhotoSetSize(interp, photo, block.width, block.height); ++ Tk_PhotoPutBlock( ++ interp, photo, &block, 0, 0, block.width, block.height, TK_PHOTO_COMPOSITE_SET); ++#else + Tk_PhotoSetSize(photo, block.width, block.height); + Tk_PhotoPutBlock(photo, &block, 0, 0, block.width, block.height); ++#endif + return TCL_OK; + } + } +@@ -339,17 +352,22 @@ extern "C" + //------------------------------------------------------------------------------ + // It's possible to change with this function or in a script some + // options like width, height or the render widget. +-int vtkTkRenderWidget_Configure( +- Tcl_Interp* interp, struct vtkTkRenderWidget* self, int argc, char* argv[], int flags) ++#if (TCL_MAJOR_VERSION >= 9) ++int vtkTkRenderWidget_Configure(Tcl_Interp* interp, struct vtkTkRenderWidget* self, Tcl_Size objc, ++ Tcl_Obj* const* objv, int flags) ++#else ++int vtkTkRenderWidget_Configure(Tcl_Interp* interp, struct vtkTkRenderWidget* self, int argc, ++ VTK_TCL_CONST char* argv[], int flags) ++#endif + { + // Let Tk handle generic configure options. +- if (Tk_ConfigureWidget(interp, self->TkWin, vtkTkRenderWidgetConfigSpecs, argc, +-#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4) +- const_cast(argv), ++#if (TCL_MAJOR_VERSION >= 9) ++ if (Tk_ConfigureWidget(interp, self->TkWin, vtkTkRenderWidgetConfigSpecs, objc, objv, (void*)self, ++ flags) == TCL_ERROR) + #else +- argv, ++ if (Tk_ConfigureWidget(interp, self->TkWin, vtkTkRenderWidgetConfigSpecs, argc, argv, (char*)self, ++ flags) == TCL_ERROR) + #endif +- (char*)self, flags) == TCL_ERROR) + { + return (TCL_ERROR); + } +@@ -372,11 +390,8 @@ int vtkTkRenderWidget_Configure( + // to choose the appropriate method to invoke. + extern "C" + { +- int vtkTkRenderWidget_Widget(ClientData clientData, Tcl_Interp* interp, int argc, +-#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4) +- CONST84 +-#endif +- char* argv[]) ++ int vtkTkRenderWidget_Widget( ++ ClientData clientData, Tcl_Interp* interp, int argc, VTK_TCL_CONST char* argv[]) + { + struct vtkTkRenderWidget* self = (struct vtkTkRenderWidget*)clientData; + int result = TCL_OK; +@@ -389,7 +404,11 @@ extern "C" + } + + // Make sure the widget is not deleted during this function ++#if (TCL_MAJOR_VERSION >= 9) ++ Tcl_Preserve((ClientData)self); ++#else + Tk_Preserve((ClientData)self); ++#endif + + // Handle render call to the widget + if (strncmp(argv[1], "render", std::max(1, strlen(argv[1]))) == 0 || +@@ -420,13 +439,26 @@ extern "C" + else + { + /* Execute a configuration change */ +- result = vtkTkRenderWidget_Configure(interp, self, argc - 2, +-#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4) +- const_cast(argv + 2), ++#if (TCL_MAJOR_VERSION >= 9) ++ // Convert string arguments to Tcl_Obj for TCL 9.0 ++ Tcl_Obj** objv_config = (Tcl_Obj**)ckalloc((argc - 2) * sizeof(Tcl_Obj*)); ++ for (int i = 0; i < argc - 2; i++) ++ { ++ objv_config[i] = Tcl_NewStringObj(argv[i + 2], -1); ++ Tcl_IncrRefCount(objv_config[i]); ++ } ++ result = ++ vtkTkRenderWidget_Configure(interp, self, argc - 2, objv_config, TK_CONFIG_ARGV_ONLY); ++ ++ // Clean up the Tcl_Obj array ++ for (int i = 0; i < argc - 2; i++) ++ { ++ Tcl_DecrRefCount(objv_config[i]); ++ } ++ ckfree((char*)objv_config); + #else +- argv + 2, ++ result = vtkTkRenderWidget_Configure(interp, self, argc - 2, argv + 2, TK_CONFIG_ARGV_ONLY); + #endif +- TK_CONFIG_ARGV_ONLY); + } + } + else if (!strcmp(argv[1], "GetRenderWindow")) +@@ -448,7 +480,11 @@ extern "C" + } + + // Unlock the object so it can be deleted. ++#if (TCL_MAJOR_VERSION >= 9) ++ Tcl_Release((ClientData)self); ++#else + Tk_Release((ClientData)self); ++#endif + return result; + } + } +@@ -464,16 +500,10 @@ extern "C" + // * Configures this vtkTkRenderWidget for the given arguments + extern "C" + { +- int vtkTkRenderWidget_Cmd(ClientData clientData, Tcl_Interp* interp, int argc, +-#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4) +- CONST84 +-#endif +- char** argv) ++ int vtkTkRenderWidget_Cmd( ++ ClientData clientData, Tcl_Interp* interp, int argc, VTK_TCL_CONST char** argv) + { +-#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4) +- CONST84 +-#endif +- char* name; ++ VTK_TCL_CONST char* name; + Tk_Window main = (Tk_Window)clientData; + Tk_Window tkwin; + struct vtkTkRenderWidget* self; +@@ -515,13 +545,37 @@ extern "C" + tkwin, ExposureMask | StructureNotifyMask, vtkTkRenderWidget_EventProc, (ClientData)self); + + // Configure vtkTkRenderWidget widget +- if (vtkTkRenderWidget_Configure(interp, self, argc - 2, +-#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4) +- const_cast(argv + 2), ++#if (TCL_MAJOR_VERSION >= 9) ++ // Convert string arguments to Tcl_Obj for TCL 9.0 ++ Tcl_Obj** objv_init = (Tcl_Obj**)ckalloc((argc - 2) * sizeof(Tcl_Obj*)); ++ for (int i = 0; i < argc - 2; i++) ++ { ++ objv_init[i] = Tcl_NewStringObj(argv[i + 2], -1); ++ Tcl_IncrRefCount(objv_init[i]); ++ } ++ ++ if (vtkTkRenderWidget_Configure(interp, self, argc - 2, objv_init, 0) == TCL_ERROR) ++ { ++ // Clean up before error return ++ for (int i = 0; i < argc - 2; i++) ++ { ++ Tcl_DecrRefCount(objv_init[i]); ++ } ++ ckfree((char*)objv_init); ++ ++ Tk_DestroyWindow(tkwin); ++ Tcl_DeleteCommand(interp, (char*)"vtkTkImageViewerWidget"); ++ return TCL_ERROR; ++ } ++ ++ // Clean up the Tcl_Obj array ++ for (int i = 0; i < argc - 2; i++) ++ { ++ Tcl_DecrRefCount(objv_init[i]); ++ } ++ ckfree((char*)objv_init); + #else +- argv + 2, +-#endif +- 0) == TCL_ERROR) ++ if (vtkTkRenderWidget_Configure(interp, self, argc - 2, argv + 2, 0) == TCL_ERROR) + { + Tk_DestroyWindow(tkwin); + Tcl_DeleteCommand(interp, "vtkTkRenderWidget"); +@@ -529,6 +583,7 @@ extern "C" + // free(self); + return TCL_ERROR; + } ++#endif + + Tcl_AppendResult(interp, Tk_PathName(tkwin), nullptr); + return TCL_OK; +@@ -555,7 +610,11 @@ extern "C" + + extern "C" + { ++#if (TCL_MAJOR_VERSION >= 9) ++ void vtkTkRenderWidget_Destroy(void* memPtr) ++#else + void vtkTkRenderWidget_Destroy(char* memPtr) ++#endif + { + struct vtkTkRenderWidget* self = (struct vtkTkRenderWidget*)memPtr; + diff --git a/vtk-vtkpython.patch b/vtk-vtkpython.patch deleted file mode 100644 index f310479..0000000 --- a/vtk-vtkpython.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up VTK6.0.0/Wrapping/Python/CMakeLists.txt.vtkpython VTK6.0.0/Wrapping/Python/CMakeLists.txt ---- VTK6.0.0/Wrapping/Python/CMakeLists.txt.vtkpython 2013-06-12 13:47:10.000000000 -0600 -+++ VTK6.0.0/Wrapping/Python/CMakeLists.txt 2013-07-26 16:44:19.954295281 -0600 -@@ -371,3 +371,8 @@ endif() - - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in - ${CMAKE_CURRENT_BINARY_DIR}/setup.py @ONLY IMMEDIATE) -+ -+if(NOT VTK_INSTALL_NO_RUNTIME AND NOT VTK_INSTALL_NO_PYTHON) -+ install(TARGETS vtkpython ${VTKPYTHON_EXECUTABLE} -+ DESTINATION ${VTK_INSTALL_RUNTIME_DIR}) -+endif() diff --git a/vtk.spec b/vtk.spec index a69272f..17b813e 100644 --- a/vtk.spec +++ b/vtk.spec @@ -1,79 +1,316 @@ -# Disable OSMesa builds for now - see Bug 744434 -%bcond_with OSMesa +%undefine __cmake_in_source_build -# Disable java on ppc64 - fails to build -%ifarch ppc64 -%bcond_with java -%else +# State Nov 11 2020, LTO causes +# TestXMLHyperTreeGridIO.cxx.o (symbol from plugin): undefined reference to symbol +# '_ZZNSt8__detail18__to_chars_10_implIjEEvPcjT_E8__digits@@LLVM_11' +%global _lto_cflags %{nil} + +# There is a circular dep with opencascade +%bcond bootstrap 0 + +# OSMesa and X support are mutually exclusive. +# TODO - buid separate OSMesa version if desired +%bcond_with OSMesa +# No more Java on i686 +%ifarch %{java_arches} %bcond_without java +%else +%bcond_with java +%endif +%if 0%{?flatpak} +%bcond_with mpich +%bcond_with openmpi +%else +# No openmpi on i668 with openmpi 5 in Fedora 40+ +# No mpi4py on i686 +%if 0%{?fedora} +%ifarch %{ix86} +%bcond_with mpich +%bcond_with openmpi +%else +%bcond_without mpich +%bcond_without openmpi +%endif +%else +%bcond_without mpich +%bcond_without openmpi +%endif +%endif +# s390x on EL8 does not have xorg-x11-drv-dummy +%if 0%{?rhel} +%ifarch s390x +%bcond_with xdummy +%else +%bcond_without xdummy +%endif +%else +%bcond_without xdummy %endif -%{!?tcl_version: %global tcl_version %(echo 'puts $tcl_version' | tclsh)} -%{!?tcl_sitelib: %global tcl_sitelib %{_datadir}/tcl%{tcl_version}} +%if 0%{?fedora} || 0%{?rhel} >= 9 +%bcond_without flexiblas +%endif + +# Try disabling LTO on ppc64le +%ifarch ppc64le +%global _lto_cflags %{nil} +%endif + +# VTK currently is carrying local modifications to gl2ps +%bcond_with gl2ps + +%bcond_without fmt + +#global rc rc2 Summary: The Visualization Toolkit - A high level 3D visualization library Name: vtk -Version: 6.1.0 -Release: 4%{?dist} -# This is a variant BSD license, a cross between BSD and ZLIB. -# For all intents, it has the same rights and restrictions as BSD. -# http://fedoraproject.org/wiki/Licensing/BSD#VTKBSDVariant -License: BSD -Group: System Environment/Libraries -Source: http://www.vtk.org/files/release/6.1/VTK-%{version}.tar.gz -# Use system libraries -# http://public.kitware.com/Bug/view.php?id=11823 -Patch0: vtk-6.1.0-system.patch -# Install some more needed cmake files to try to support paraview build -# http://www.vtk.org/Bug/view.php?id=14157 -Patch1: vtk-install.patch -#Patch to vtk to use system netcdf library -Patch2: vtk-6.1.0-netcdf.patch +Version: 9.5.2%{?rc:~%{rc}} +Release: %autorelease +License: BSD-3-Clause +%global srcver %{lua:local ver = rpm.expand('%version');ver = ver:gsub('~','.');print(ver)} +Source0: https://www.vtk.org/files/release/9.5/VTK-%{srcver}.tar.gz +Source1: https://www.vtk.org/files/release/9.5/VTKData-%{srcver}.tar.gz +Source2: xorg.conf +# Patch required libharu version (Fedora 33+ contains the needed VTK patches) +Patch: vtk-libharu.patch +# Tk 9.0 - based on b7c22497712be6751fbefe155533ae34d5e381f5 +Patch: vtk-tk9.patch +# always_inline fails on ppc64le +# https://gitlab.kitware.com/vtk/vtk/-/issues/19622 +# https://bugzilla.redhat.com/show_bug.cgi?id=2386242 +Patch: vtk-ppc64-no-always-inline.patch -URL: http://vtk.org/ +URL: https://vtk.org/ -%if 0%{?rhel} && (0%{?rhel} <= 6) -BuildRequires: cmake28 +BuildRequires: cmake +# Allow for testing with different cmake generators. +# make still seems to be faster than ninja, but has failed at times. +%global cmake_gen %{nil} +BuildRequires: gcc-c++ +%if %{with java} +BuildRequires: java-devel %else -BuildRequires: cmake +Obsoletes: %{name}-java < %{version}-%{release} +Obsoletes: %{name}-java-devel < %{version}-%{release} %endif -BuildRequires: gcc-c++ -#%{?with_java:BuildRequires: gcc-java, libgcj-devel, java-devel} -%{?with_java:BuildRequires: java-devel} -BuildRequires: libX11-devel, libXt-devel, libXext-devel -BuildRequires: libICE-devel, libGL-devel +BuildRequires: alembic-devel +%if %{with flexiblas} +BuildRequires: flexiblas-devel +%else +BuildRequires: blas-devel +BuildRequires: lapack-devel +%endif +BuildRequires: boost-devel +BuildRequires: cgnslib-devel +BuildRequires: cli11-devel +BuildRequires: double-conversion-devel +BuildRequires: eigen3-devel +BuildRequires: expat-devel +BuildRequires: fast_float-devel +BuildRequires: ffmpeg-free-devel +%if %{with fmt} +BuildRequires: fmt-devel >= 8.1.0 +%endif +BuildRequires: freeglut-devel +BuildRequires: freetype-devel +BuildRequires: gdal-devel +%if %{with gl2ps} +BuildRequires: gl2ps-devel +%endif +BuildRequires: hdf5-devel +BuildRequires: json-devel +BuildRequires: jsoncpp-devel +BuildRequires: libarchive-devel +BuildRequires: libGL-devel +BuildRequires: libharu-devel >= 2.4.0 +BuildRequires: libICE-devel +BuildRequires: libjpeg-devel +BuildRequires: liblas-devel +BuildRequires: libpng-devel +BuildRequires: libpq-devel +BuildRequires: libtheora-devel +BuildRequires: libtiff-devel +BuildRequires: libxkbcommon-devel +BuildRequires: libxml2-devel +BuildRequires: libX11-devel +BuildRequires: libXcursor-devel +BuildRequires: libXext-devel +BuildRequires: libXt-devel +BuildRequires: lz4-devel +BuildRequires: mariadb-connector-c-devel %{?with_OSMesa:BuildRequires: mesa-libOSMesa-devel} -BuildRequires: tk-devel, tcl-devel -BuildRequires: python-devel -BuildRequires: expat-devel, freetype-devel, libjpeg-devel, libpng-devel -BuildRequires: gl2ps-devel -BuildRequires: libtiff-devel, zlib-devel -BuildRequires: libxml2-devel -BuildRequires: qt4-devel -BuildRequires: qtwebkit-devel -BuildRequires: chrpath -BuildRequires: doxygen, graphviz -BuildRequires: gnuplot -BuildRequires: boost-devel -BuildRequires: hdf5-devel -BuildRequires: jsoncpp-devel -BuildRequires: libtheora-devel -BuildRequires: mysql-devel -BuildRequires: netcdf-cxx-devel -BuildRequires: postgresql-devel -BuildRequires: R-devel -BuildRequires: PyQt4-devel -BuildRequires: sip-devel -BuildRequires: sqlite-devel -BuildRequires: wget -BuildRequires: %{_includedir}/Xm -BuildRequires: blas-devel -BuildRequires: lapack-devel -%{!?with_java:Conflicts: vtk-java} +BuildRequires: netcdf-cxx-devel +%if %{without bootstrap} +BuildRequires: opencascade-devel +%endif +BuildRequires: openslide-devel +# Currently does not provide OpenVDBConfig.cmake +#BuildRequires: openvdb-devel +BuildRequires: openvr-devel +BuildRequires: openxr-devel +BuildRequires: PDAL-devel +BuildRequires: PEGTL-devel +BuildRequires: proj-devel +BuildRequires: pugixml-devel +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: cmake(Qt6UiPlugin) +BuildRequires: cmake(Qt6Quick) +BuildRequires: R-devel +BuildRequires: sqlite-devel +BuildRequires: tcl-devel +BuildRequires: tk-devel +BuildRequires: unixODBC-devel +BuildRequires: utf8cpp-devel +BuildRequires: zlib-devel +BuildRequires: chrpath +BuildRequires: doxygen +BuildRequires: graphviz +BuildRequires: gnuplot +BuildRequires: wget +%if %{with mpich} +BuildRequires: mpich-devel +%ifnarch %{ix86} +BuildRequires: python%{?python3_pkgversion}-mpi4py-mpich +%endif +BuildRequires: netcdf-mpich-devel +%endif +%if %{with openmpi} +BuildRequires: openmpi-devel +BuildRequires: python%{?python3_pkgversion}-mpi4py-openmpi +BuildRequires: netcdf-openmpi-devel +%endif +# For %check +%if %{with xdummy} +BuildRequires: xorg-x11-drv-dummy +BuildRequires: mesa-dri-drivers +%endif Requires: hdf5 = %{_hdf5_version} -# Do not check .so files in the python_sitearch directory -%global __provides_exclude_from ^%{python_sitearch}/.*\\.so$ +# Almost every BR needs to be required by the -devel packages +%global vtk_devel_requires \ +Requires: cmake \ +%if %{with flexiblas} \ +Requires: flexiblas-devel%{?_isa} \ +%else \ +Requires: blas-devel%{?_isa} \ +Requires: lapack-devel%{?_isa} \ +%endif \ +Requires: blas-devel%{?_isa} \ +Requires: boost-devel%{?_isa} \ +Requires: cgnslib-devel%{?_isa} \ +# cli11 is noarch and header-only \ +Requires: cli11-static \ +Requires: double-conversion-devel%{?_isa} \ +# eigen3 is noarch and header-only \ +Requires: eigen3-static \ +Requires: expat-devel%{?_isa} \ +# fast_float is noarch and header-only \ +Requires: fast_float-devel \ +Requires: ffmpeg-free-devel%{?_isa} \ +%if %{with fmt} \ +Requires: fmt-devel%{?_isa} \ +%endif \ +Requires: freeglut-devel%{?_isa} \ +Requires: freetype-devel%{?_isa} \ +Requires: gdal-devel%{?_isa} \ +%if %{with gl2ps} \ +Requires: gl2ps-devel%{?_isa} \ +%endif \ +Requires: json-devel%{?_isa} \ +Requires: jsoncpp-devel%{?_isa} \ +Requires: lapack-devel%{?_isa} \ +Requires: libarchive-devel%{?_isa} \ +Requires: libGL-devel%{?_isa} \ +Requires: libharu-devel%{?_isa} >= 2.3.0-9 \ +Requires: libjpeg-devel%{?_isa} \ +Requires: liblas-devel%{?_isa} \ +Requires: libogg-devel%{?_isa} \ +Requires: libpng-devel%{?_isa} \ +Requires: libpq-devel%{?_isa} \ +Requires: libtheora-devel%{?_isa} \ +Requires: libtiff-devel%{?_isa} \ +Requires: libxkbcommon-devel%{?_isa} \ +Requires: libxml2-devel%{?_isa} \ +Requires: libX11-devel%{?_isa} \ +Requires: libXcursor-devel%{?_isa} \ +Requires: libXext-devel%{?_isa} \ +Requires: libXt-devel%{?_isa} \ +Requires: lz4-devel%{?_isa} \ +Requires: mariadb-connector-c-devel%{?_isa} \ +%if %{with OSMesa} \ +Requires: mesa-libOSMesa-devel%{?_isa} \ +%endif \ +Requires: netcdf-cxx-devel%{?_isa} \ +%if %{without bootstrap} \ +Requires: opencascade-devel%{?_isa} \ +%endif \ +Requires: openslide-devel%{?_isa} \ +#Requires: openvdb-devel%{?_isa} \ +Requires: openvr-devel%{?_isa} \ +Requires: openxr-devel%{?_isa} \ +Requires: PDAL-devel%{?_isa} \ +Requires: PEGTL-devel%{?_isa} \ +Requires: proj-devel%{?_isa} \ +Requires: pugixml-devel%{?_isa} \ +# bz #1183210 + #1183530 \ +Requires: python%{python3_pkgversion}-devel \ +Requires: sqlite-devel%{?_isa} \ +Requires: cmake(Qt6) \ +Requires: cmake(Qt6Core5Compat) \ +Requires: cmake(Qt6Quick) \ +Requires: cmake(Qt6UiPlugin) \ +Requires: unixODBC-devel%{?_isa} \ +Requires: utf8cpp-devel \ +Requires: zlib-devel%{?_isa} \ + +# Bundled KWSys +# https://fedorahosted.org/fpc/ticket/555 +# Components used are specified in Utilities/KWSys/CMakeLists.txt +Provides: bundled(kwsys-base64) +Provides: bundled(kwsys-commandlinearguments) +Provides: bundled(kwsys-directory) +Provides: bundled(kwsys-dynamicloader) +Provides: bundled(kwsys-encoding) +Provides: bundled(kwsys-fstream) +Provides: bundled(kwsys-fundamentaltype) +Provides: bundled(kwsys-glob) +Provides: bundled(kwsys-md5) +Provides: bundled(kwsys-process) +Provides: bundled(kwsys-regularexpression) +Provides: bundled(kwsys-status) +Provides: bundled(kwsys-system) +Provides: bundled(kwsys-systeminformation) +Provides: bundled(kwsys-systemtools) +# Other bundled libraries +Provides: bundled(diy2) +Provides: bundled(exodusII) = 2.0.0 +Provides: bundled(exprtk) = 2.71 +Provides: bundled(fides) +%if !%{with fmt} +Provides: bundled(fmt) = 8.1.0 +%endif +Provides: bundled(ftgl) = 1.32 +%if !%{with gl2ps} +Provides: bundled(gl2ps) = 1.4.0 +%endif +Provides: bundled(h5part) = 1.6.6 +Provides: bundled(ioss) = 20221014 +Provides: bundled(itlib-small-vector) = 1.0.4 +Provides: bundled(kissfft) +Provides: bundled(loguru) = 2.1 +Provides: bundled(metaio) +Provides: bundled(scn) = 4.0.0 +# kitware library https://gitlab.kitware.com/utils/token +Provides: bundled(token) = 23.09 +Provides: bundled(verdict) = 1.4.0 +Provides: bundled(viskores) = 1.0.0 +Provides: bundled(vpic) +Provides: bundled(xdmf2) = 2.1 +Provides: bundled(xdmf3) + +Obsoletes: %{name}-tcl < 8.2.0-1 +Obsoletes: %{name}-qt-tcl < 8.2.0-1 %description VTK is an open-source software system for image processing, 3D @@ -82,89 +319,238 @@ advanced algorithms (e.g., surface reconstruction, implicit modeling, decimation) and rendering techniques (e.g., hardware-accelerated volume rendering, LOD control). +NOTE: The version in this package has NOT been compiled with MPI support. +%if %{with mpich} +Install the %{name}-mpich package to get a version compiled with mpich. +%endif +%if %{with openmpi} +Install the %{name}-openmpi package to get a version compiled with openmpi. +%endif + %package devel Summary: VTK header files for building C++ code -Requires: vtk = %{version}-%{release} -%{?with_OSMesa:Requires: mesa-libOSMesa-devel} -Requires: cmake -Requires: gl2ps-devel -Requires: expat-devel, libjpeg-devel, libpng-devel -Requires: freetype-devel -Requires: libogg-devel -Requires: libtheora-devel -Requires: libtiff-devel -Requires: libxml2-devel -Requires: postgresql-devel -Requires: mysql-devel -Requires: qt4-devel -Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +%if %{with java} +Requires: %{name}-java%{?_isa} = %{version}-%{release} +%endif +Requires: python%{python3_pkgversion}-%{name}%{?_isa} = %{version}-%{release} +Requires: hdf5-devel%{?_isa} +Requires: netcdf-cxx-devel%{?_isa} +%{vtk_devel_requires} -%description devel +%description devel This provides the VTK header files required to compile C++ programs that use VTK to do 3D visualization. -%package tcl -Summary: Tcl bindings for VTK -Requires: vtk = %{version}-%{release} -Group: System Environment/Libraries +%package -n python%{python3_pkgversion}-%{name} +Summary: Python 3 bindings for VTK +Requires: vtk%{?_isa} = %{version}-%{release} +%{?python_provide:%python_provide python%{python3_pkgversion}-vtk} +Provides: %{py3_dist vtk} = %{version} +Provides: python%{python3_version}dist(vtk) = %{version} +Obsoletes: python3-vtk-qt < 8.2.0-27 +Provides: python%{python3_pkgversion}-vtk-qt = %{version}-%{release} -%description tcl -tcl bindings for VTK - -%package python -Summary: Python bindings for VTK -Requires: vtk = %{version}-%{release} -Group: System Environment/Libraries - -%description python -python bindings for VTK +%description -n python%{python3_pkgversion}-%{name} +Python 3 bindings for VTK. %if %{with java} %package java Summary: Java bindings for VTK -Requires: vtk = %{version}-%{release} -Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} %description java -Java bindings for VTK +Java bindings for VTK. + +%package java-devel +Summary: Java development for VTK +Requires: %{name}-java%{?_isa} = %{version}-%{release} +Requires: java-devel + +%description java-devel +Java development for VTK. %endif %package qt Summary: Qt bindings for VTK -Requires: vtk = %{version}-%{release} -Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} %description qt -Qt bindings for VTK +Qt bindings for VTK. -%package qt-python -Summary: Qt Python bindings for VTK -Requires: vtk = %{version}-%{release} -Group: System Environment/Libraries +%global mpi_list %{nil} -%description qt-python -Qt Python bindings for VTK +%if %{with mpich} +%global mpi_list %mpi_list mpich +%package mpich +Summary: The Visualization Toolkit - mpich version -%package qt-tcl -Summary: Qt TCL bindings for VTK -Requires: vtk = %{version}-%{release} -Group: System Environment/Libraries +Obsoletes: %{name}-mpich-tcl < 8.2.0-1 +Obsoletes: %{name}-mpich-qt-tcl < 8.2.0-1 +%if %{without java} +Obsoletes: %{name}-mpich-java < %{version}-%{release} +Obsoletes: %{name}-mpich-java-devel < %{version}-%{release} +%endif -%description qt-tcl -Qt TCL bindings for VTK +%description mpich +VTK is an open-source software system for image processing, 3D +graphics, volume rendering and visualization. VTK includes many +advanced algorithms (e.g., surface reconstruction, implicit modeling, +decimation) and rendering techniques (e.g., hardware-accelerated +volume rendering, LOD control). + +NOTE: The version in this package has been compiled with mpich support. + +%package mpich-devel +Summary: VTK header files for building C++ code with mpich +Requires: %{name}-mpich%{?_isa} = %{version}-%{release} +%if %{with java} +Requires: %{name}-mpich-java%{?_isa} = %{version}-%{release} +%endif +Requires: python%{python3_pkgversion}-%{name}-mpich%{?_isa} = %{version}-%{release} +Requires: mpich-devel +Requires: hdf5-mpich-devel%{?_isa} +Requires: netcdf-mpich-devel%{?_isa} +%{vtk_devel_requires} + +%description mpich-devel +This provides the VTK header files required to compile C++ programs that +use VTK to do 3D visualization. + +NOTE: The version in this package has been compiled with mpich support. + +%package -n python%{python3_pkgversion}-%{name}-mpich +Summary: Python 3 bindings for VTK with mpich +Requires: %{name}-mpich%{?_isa} = %{version}-%{release} +Obsoletes: python3-vtk-mpich-qt < 8.2.0-15 +Provides: python%{python3_pkgversion}-vtk-mpich-qt = %{version}-%{release} + +%description -n python%{python3_pkgversion}-%{name}-mpich +python 3 bindings for VTK with mpich. + +%if %{with java} +%package mpich-java +Summary: Java bindings for VTK with mpich +Requires: %{name}-mpich%{?_isa} = %{version}-%{release} + +%description mpich-java +Java bindings for VTK with mpich. + +%package mpich-java-devel +Summary: Java development for VTK with mpich +Requires: %{name}-mpich-java%{?_isa} = %{version}-%{release} +Requires: java-devel + +%description mpich-java-devel +Java development for VTK with mpich. +%endif + +%package mpich-qt +Summary: Qt bindings for VTK with mpich +Requires: %{name}-mpich%{?_isa} = %{version}-%{release} + +%description mpich-qt +Qt bindings for VTK with mpich. +%endif + +%if %{with openmpi} +%global mpi_list %mpi_list openmpi +%package openmpi +Summary: The Visualization Toolkit - openmpi version + +Obsoletes: %{name}-openmpi-tcl < 8.2.0-1 +Obsoletes: %{name}-openmpi-qt-tcl < 8.2.0-1 +%if %{without java} +Obsoletes: %{name}-mpich-java < %{version}-%{release} +Obsoletes: %{name}-mpich-java-devel < %{version}-%{release} +%endif + +%description openmpi +VTK is an open-source software system for image processing, 3D +graphics, volume rendering and visualization. VTK includes many +advanced algorithms (e.g., surface reconstruction, implicit modeling, +decimation) and rendering techniques (e.g., hardware-accelerated +volume rendering, LOD control). + +NOTE: The version in this package has been compiled with openmpi support. + +%package openmpi-devel +Summary: VTK header files for building C++ code with openmpi +Requires: %{name}-openmpi%{?_isa} = %{version}-%{release} +%if %{with java} +Requires: %{name}-openmpi-java%{?_isa} = %{version}-%{release} +%endif +Requires: python%{python3_pkgversion}-%{name}-openmpi%{?_isa} = %{version}-%{release} +Requires: openmpi-devel +Requires: hdf5-openmpi-devel%{?_isa} +Requires: netcdf-openmpi-devel%{?_isa} +%{vtk_devel_requires} + +%description openmpi-devel +This provides the VTK header files required to compile C++ programs that +use VTK to do 3D visualization. + +NOTE: The version in this package has been compiled with openmpi support. + +%package -n python%{python3_pkgversion}-%{name}-openmpi +Summary: Python 3 bindings for VTK with openmpi +Requires: %{name}-openmpi%{?_isa} = %{version}-%{release} +Obsoletes: python3-vtk-openmpi-qt < 8.2.0-15 +Provides: python%{python3_pkgversion}-vtk-openmpi-qt = %{version}-%{release} + +%description -n python%{python3_pkgversion}-%{name}-openmpi +Python 3 bindings for VTK with openmpi. + +%if %{with java} +%package openmpi-java +Summary: Java bindings for VTK with openmpi +Requires: %{name}-openmpi%{?_isa} = %{version}-%{release} + +%description openmpi-java +Java bindings for VTK with openmpi. + +%package openmpi-java-devel +Summary: Java development for VTK with openmpi +Requires: %{name}-openmpi-java%{?_isa} = %{version}-%{release} +Requires: java-devel + +%description openmpi-java-devel +Java development for VTK with openmpi. +%endif + +%package openmpi-qt +Summary: Qt bindings for VTK with openmpi +Requires: %{name}-openmpi%{?_isa} = %{version}-%{release} + +%description openmpi-qt +Qt bindings for VTK with openmpi. +%endif + +%package data +Summary: VTK data files for tests/examples +BuildArch: noarch +Obsoletes: vtkdata < 6.1.0-3 + +%description data +VTK data files for tests and examples. + +%package doc +Summary: API documentation for VTK +BuildArch: noarch + +%description doc +Generated API documentation for VTK %package testing Summary: Testing programs for VTK -Requires: vtk = %{version}-%{release}, vtkdata = %{version} -Group: Applications/Engineering +Requires: %{name}%{?_isa} = %{version}-%{release}, %{name}-data = %{version} %description testing Testing programs for VTK %package examples Summary: Examples for VTK -Requires: vtk = %{version}-%{release}, vtkdata = %{version} -Group: Applications/Engineering +Requires: %{name}%{?_isa} = %{version}-%{release}, %{name}-data = %{version} %description examples This package contains many well-commented examples showing how to use @@ -173,177 +559,245 @@ programming languages. %prep -%setup -q -n VTK-%{version} -%patch0 -p1 -b .system -%patch1 -p1 -b .install -%patch2 -p1 -b .netcdf +%autosetup -p1 -b 1 -n VTK-%{srcver} # Remove included thirdparty sources just to be sure -# TODO - vtksqlite -for x in autobahn vtkexpat vtkfreetype vtkgl2ps vtkhdf5 vtkjpeg vtklibxml2 vtknetcdf vtkoggtheora vtkpng vtktiff twisted vtkzlib zope +# ls VTK-*/ThirdParty/*/vtk* -dl | grep ^d +# TODO - diy2 - not yet packaged +# TODO - exodusII - not yet packaged +# TODO - exprtk - not yet packaged +# TODO - fides - not yet packaged +# TODO - h5part - not yet packaged +# TODO - ioss - not yet packaged +# TODO - kissfft - not yet packaged +# TODO - loguru - not yet packaged +# TODO - scn - not yet packaged +# TODO - verdict - not yet packaged +# TODO - viskores - not yet packaged +# TODO - VPIC - not yet packaged +# TODO - xdmf2 - not yet packaged +# TODO - xdmf3 - not yet packaged +for x in vtk{cgns,cli11,doubleconversion,eigen,expat,fast_float,%{?with_fmt:fmt,}freetype,%{?with_gl2ps:gl2ps,}hdf5,jpeg,jsoncpp,libharu,libproj,libxml2,lz4,lzma,mpi4py,netcdf,nlohmannjson,ogg,pegtl,png,pugixml,sqlite,theora,tiff,utf8,zlib} do rm -r ThirdParty/*/${x} done +%ifarch %{ix86} +rm -r ThirdParty/xdmf3 +%endif -# Replace relative path ../../../VTKData with %{_datadir}/vtkdata-%{version} -# otherwise it will break on symlinks. -grep -rl '\.\./\.\./\.\./\.\./VTKData' . | xargs \ - perl -pi -e's,\.\./\.\./\.\./\.\./VTKData,%{_datadir}/vtkdata-%{version},g' +# Remove version requirements +sed -i -e '/VERSION *"/d' ThirdParty/fast_float/CMakeLists.txt + +# Remove version requirements +sed -i -e '/VERSION *"/d' ThirdParty/fast_float/CMakeLists.txt + +# Remove unused KWSys items +find Utilities/KWSys/vtksys/ -name \*.[ch]\* | grep -vE '^Utilities/KWSys/vtksys/([a-z].*|Configure|SharedForward|Status|String\.hxx|Base64|CommandLineArguments|Directory|DynamicLoader|Encoding|FStream|FundamentalType|Glob|MD5|Process|RegularExpression|System|SystemInformation|SystemTools)(C|CXX|UNIX)?\.' | xargs rm # Save an unbuilt copy of the Example's sources for %doc mkdir vtk-examples cp -a Examples vtk-examples -# Don't ship Win32 examples -rm -r vtk-examples/Examples/GUI/Win32 find vtk-examples -type f | xargs chmod -R a-x +# Requires OpenTURNS which is not packaged +# -DVTK_MODULE_ENABLE_VTK_FiltersOpenTURNS:STRING=YES +# fides and ADIOS2 require ADIOS2 which is not packaged +# ZSpace is Windows only, but is getting enabled anyway +# Xdmf3 fails on i686 - https://gitlab.kitware.com/vtk/vtk/-/issues/19402 +%global vtk_cmake_options \\\ + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \\\ + -DCMAKE_INSTALL_DOCDIR=share/doc/%{name} \\\ + -DCMAKE_INSTALL_JARDIR=share/java \\\ + -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \\\ + -DCMAKE_INSTALL_JNILIBDIR:PATH=%{_lib}/%{name} \\\ + -DCMAKE_INSTALL_LICENSEDIR:PATH=share/licenses/%{name} \\\ + -DVTK_CUSTOM_LIBRARY_SUFFIX="" \\\ + -DVTK_VERSIONED_INSTALL:BOOL=OFF \\\ + -DVTK_GROUP_ENABLE_Imaging:STRING=YES \\\ + -DVTK_GROUP_ENABLE_Qt:STRING=YES \\\ + -DVTK_GROUP_ENABLE_Rendering:STRING=YES \\\ + -DVTK_GROUP_ENABLE_StandAlone:STRING=YES \\\ + -DVTK_GROUP_ENABLE_Views:STRING=YES \\\ + -DVTK_GROUP_ENABLE_Web:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmFilters:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_CommonArchive:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_DomainsMicroscopy:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_GeovisGDAL:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_FiltersParallelStatistics:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_FiltersParallelVerdict:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_ImagingOpenGL2:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_InfovisBoost:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_InfovisBoostGraphAlgorithms:STRING=YES \\\ +%if %{with bootstrap} \ + -DVTK_MODULE_ENABLE_VTK_IOOCCT:STRING=NO \\\ +%endif \ + -DVTK_MODULE_ENABLE_VTK_IOFDS:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_IOH5part:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_IOH5Rage:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_IOMySQL:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_IOOMF:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_IOParallelLSDyna:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_IOTRUCHAS:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_IOVPIC:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_IOXdmf2:STRING=YES \\\ +%ifarch %{ix86} \ + -DVTK_MODULE_ENABLE_VTK_IOXdmf3:STRING=NO \\\ +%endif \ + -DVTK_MODULE_ENABLE_VTK_RenderingAnari:STRING=NO \\\ + -DVTK_MODULE_ENABLE_VTK_RenderingMatplotlib:STRING=YES \\\ + -DVTK_MODULE_ENABLE_VTK_RenderingVolumeAMR:STRING=YES \\\ + -DVTK_PYTHON_OPTIONAL_LINK:BOOL=OFF \\\ +%if %{with OSMesa} \ + -DVTK_OPENGL_HAS_OSMESA:BOOL=ON \\\ +%endif \ +%if %{with java} \ + -DVTK_WRAP_JAVA:BOOL=ON \\\ + -DVTK_JAVA_SOURCE_VERSION=8 \\\ + -DVTK_JAVA_TARGET_VERSION=8 \\\ + -DJAVA_INCLUDE_PATH:PATH=$JAVA_HOME/include \\\ + -DJAVA_INCLUDE_PATH2:PATH=$JAVA_HOME/include/linux \\\ + -DJAVA_AWT_INCLUDE_PATH:PATH=$JAVA_HOME/include \\\ + -DJAVA_AWT_LIBRARY:PATH=$JAVA_HOME/lib/libjawt.so \\\ + -DJAVA_JNI_INCLUDE_PATH:PATH=$JAVA_HOME/include \\\ + -DJAVA_JVM_LIBRARY:PATH=$JAVA_HOME/lib/libjava.so \\\ +%else \ + -DVTK_WRAP_JAVA:BOOL=OFF \\\ +%endif \ + -DVTK_WRAP_PYTHON:BOOL=ON \\\ + -DVTK_USE_EXTERNAL=ON \\\ + -DVTK_BUILD_ALL_MODULES=ON \\\ + -DVTK_ENABLE_OSPRAY:BOOL=OFF \\\ + -DVTK_MODULE_ENABLE_VTK_fides:STRING=NO \\\ + -DVTK_MODULE_ENABLE_VTK_FiltersOpenTURNS:STRING=NO \\\ + -DVTK_MODULE_ENABLE_VTK_IOADIOS2:STRING=NO \\\ + -DVTK_MODULE_ENABLE_VTK_IOOpenVDB:STRING=NO \\\ +%if !%{with fmt} \ + -DVTK_MODULE_USE_EXTERNAL_VTK_fmt:BOOL=OFF \\\ +%endif \ +%if !%{with gl2ps} \ + -DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps:BOOL=OFF \\\ +%endif \ + -DVTK_MODULE_USE_EXTERNAL_VTK_exprtk:BOOL=OFF \\\ + -DVTK_MODULE_USE_EXTERNAL_VTK_ioss:BOOL=OFF \\\ + -DVTK_MODULE_USE_EXTERNAL_VTK_scn:BOOL=OFF \\\ + -DVTK_MODULE_USE_EXTERNAL_VTK_token:BOOL=OFF \\\ + -DVTK_MODULE_USE_EXTERNAL_VTK_verdict:BOOL=OFF \\\ + -DVTK_MODULE_USE_EXTERNAL_VTK_vtkviskores:BOOL=OFF \\\ + -DVTK_USE_TK=ON \\\ + %{?with_flexiblas:-DBLA_VENDOR=FlexiBLAS} + +# $mpi will be evaluated in the loops below +%global _vpath_builddir %{_vendor}-%{_target_os}-build-${mpi:-serial} + + +%conf +export CFLAGS="%{optflags} -D_UNICODE -DHAVE_UINTPTR_T" +export CXXFLAGS="%{optflags} -D_UNICODE -DHAVE_UINTPTR_T" +export CPPFLAGS=-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H +%if %{with java} +export JAVA_HOME=%{_prefix}/lib/jvm/java +%ifarch %{arm} s390x riscv64 +# getting "java.lang.OutOfMemoryError: Java heap space" during the build +export JAVA_TOOL_OPTIONS=-Xmx2048m +%endif +%ifarch %{arm} riscv64 +# Likely running out of memory during build +%global _smp_ncpus_max 2 +%endif +%endif + + +%cmake %{cmake_gen} \ + %{vtk_cmake_options} \ + -DVTK_BUILD_DOCUMENTATION:BOOL=ON \ + -DVTK_BUILD_EXAMPLES:BOOL=ON \ + -DVTK_BUILD_TESTING:BOOL=ON + + + #-DVTK_MODULE_ENABLE_VTK_FiltersParallelStatistics:STRING=YES \ + +export CC=mpicc +export CXX=mpic++ +for mpi in %{mpi_list} +do + module load mpi/$mpi-%{_arch} + # CMAKE_INSTALL_LIBDIR -> ARCHIVE_DESTINATION must not be an absolute path + # VTK_MODULE_ENABLE_VTK_FiltersParallelStatistics need MPI modules at the moment + %cmake %{cmake_gen} \ + %{vtk_cmake_options} \ + -DCMAKE_PREFIX_PATH:PATH=$MPI_HOME \ + -DCMAKE_INSTALL_PREFIX:PATH=$MPI_HOME \ + -DCMAKE_INSTALL_LIBDIR:PATH=lib \ + -DCMAKE_INSTALL_JNILIBDIR:PATH=lib/%{name} \ + -DVTK_MODULE_ENABLE_VTK_ParallelMPI=WANT \ + -DVTK_MODULE_ENABLE_VTK_mpi=WANT \ + -DVTK_MODULE_ENABLE_VTK_RenderingParallelLIC=WANT \ + -DVTK_MODULE_ENABLE_VTK_ParallelMPI4Py=WANT \ + -DVTK_MODULE_ENABLE_VTK_FiltersParallelFlowPaths=WANT \ + -DVTK_MODULE_ENABLE_VTK_FiltersParallelGeometry=WANT \ + -DVTK_MODULE_ENABLE_VTK_FiltersParallelMPI=WANT \ + -DVTK_MODULE_ENABLE_VTK_IOMPIImage=WANT \ + -DVTK_MODULE_ENABLE_VTK_IOParallelNetCDF=WANT \ + -DVTK_MODULE_ENABLE_VTK_IOPIO=WANT \ + -DVTK_USE_MPI:BOOL=ON + module purge +done + + %build -export CFLAGS="%{optflags} -D_UNICODE" -export CXXFLAGS="%{optflags} -D_UNICODE" -%if %{with java} -export JAVA_HOME=/usr/lib/jvm/java -%endif - -mkdir build -pushd build -%if 0%{?rhel} && (0%{?rhel} <= 6) -%{cmake28} .. \ -%else -%{cmake} .. \ -%endif - -DBUILD_DOCUMENTATION:BOOL=ON \ - -DBUILD_EXAMPLES:BOOL=ON \ - -DBUILD_TESTING:BOOL=OFF \ - -DVTK_CUSTOM_LIBRARY_SUFFIX="" \ - -DVTK_INSTALL_ARCHIVE_DIR:PATH=%{_lib}/vtk \ - -DVTK_INSTALL_DATA_DIR=share/vtk \ - -DVTK_INSTALL_INCLUDE_DIR:PATH=include/vtk \ - -DVTK_INSTALL_LIBRARY_DIR:PATH=%{_lib}/vtk \ - -DVTK_INSTALL_PACKAGE_DIR:PATH=%{_lib}/cmake/vtk \ - -DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=%{_lib}/python%{python_version}/site-packages \ - -DVTK_INSTALL_QT_DIR:PATH=/%{_lib}/qt4/plugins/designer \ - -DVTK_INSTALL_TCL_DIR:PATH=share/tcl%{tcl_version}/vtk \ - -DTK_INTERNAL_PATH:PATH=/usr/include/tk-private/generic \ -%if %{with OSMesa} - -DVTK_OPENGL_HAS_OSMESA:BOOL=ON \ -%endif -%if %{with java} - -DVTK_WRAP_JAVA:BOOL=ON \ - -DJAVA_INCLUDE_PATH:PATH=$JAVA_HOME/include \ - -DJAVA_INCLUDE_PATH2:PATH=$JAVA_HOME/include/linux \ - -DJAVA_AWT_INCLUDE_PATH:PATH=$JAVA_HOME/include \ -%else - -DVTK_WRAP_JAVA:BOOL=OFF \ -%endif - -DVTK_WRAP_PYTHON:BOOL=ON \ - -DVTK_WRAP_PYTHON_SIP:BOOL=ON \ - -DSIP_INCLUDE_DIR:PATH=/usr/include/python%{python_version} \ - -DVTK_WRAP_TCL:BOOL=ON \ - -DVTK_Group_Imaging:BOOL=ON \ - -DVTK_Group_Qt:BOOL=ON \ - -DVTK_Group_Rendering:BOOL=ON \ - -DVTK_Group_StandAlone:BOOL=ON \ - -DVTK_Group_Tk:BOOL=ON \ - -DVTK_Group_Views:BOOL=ON \ - -DModule_vtkFiltersStatisticsGnuR:BOOL=ON \ - -DModule_vtkTestingCore:BOOL=ON \ - -DModule_vtkTestingRendering:BOOL=ON \ - -DVTK_USE_OGGTHEORA_ENCODER=ON \ - -DVTK_USE_SYSTEM_LIBRARIES=ON \ - -DVTK_USE_SYSTEM_HDF5:BOOL=ON \ - -DVTK_USE_SYSTEM_LIBPROJ4:BOOL=OFF \ - -DVTK_USE_SYSTEM_NETCDF:BOOL=ON - -# TODO - MPI -#-DVTK_Group_MPI:BOOL=ON \ -# Needed for some tests. Fails to compile at the moment. We don't run test though. -# -DVTK_DATA_ROOT:PATH=%{_datadir}/vtkdata-%{version} \ -# Not working, see http://public.kitware.com/Bug/view.php?id=11978 -# -DVTK_USE_ODBC=ON \ -# Commented old flags in case we'd like to reactive some of them -# -DVTK_USE_DISPLAY:BOOL=OFF \ # This prevents building of graphics tests -# -DVTK_USE_MPI:BOOL=ON \ - -# Got intermittent build error with -j -make %{?_smp_mflags} +%cmake_build -- --output-sync +%cmake_build --target DoxygenDoc +for mpi in %{mpi_list} +do + module load mpi/$mpi-%{_arch} + %cmake_build -- --output-sync + module purge +done # Remove executable bits from sources (some of which are generated) find . -name \*.c -or -name \*.cxx -or -name \*.h -or -name \*.hxx -or \ -name \*.gif | xargs chmod -x + %install -mkdir -p %{buildroot} -pushd build -make install DESTDIR=%{buildroot} +%cmake_install -# Move python libraries into the proper location -if [ "%{_lib}" != lib -a "`ls %{buildroot}%{_prefix}/lib/*`" != "" ]; then - mkdir -p %{buildroot}%{_libdir} - mv %{buildroot}%{_prefix}/lib/python* %{buildroot}%{_libdir}/ -fi +pushd %{_vpath_builddir} +# Gather list of non-java/python/qt libraries +ls %{buildroot}%{_libdir}/*.so.* \ + | grep -Ev '(Java|Qt|Python)' | sed -e's,^%{buildroot},,' > libs.list -# ld config -mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d -echo %{_libdir}/vtk > %{buildroot}%{_sysconfdir}/ld.so.conf.d/vtk-%{_arch}.conf +# List of executable test binaries +find bin \( -name \*Tests -o -name Test\* -o -name VTKBenchMark \) \ + -printf '%f\n' > testing.list -# Gather list of non-python/tcl libraries -ls %{buildroot}%{_libdir}/vtk/*.so.* \ - | grep -Ev '(Java|Qt|Python27D|TCL)' | sed -e's,^%{buildroot},,' > libs.list - -# List of executable utilities -cat > utils.list << EOF -vtkEncodeString -EOF - -# List of executable examples -cat > examples.list << EOF -HierarchicalBoxPipeline -MultiBlock -Arrays -Cube -RGrid -SGrid -Medical1 -Medical2 -Medical3 -finance -AmbientSpheres -Cylinder -DiffuseSpheres -SpecularSpheres -Cone -Cone2 -Cone3 -Cone4 -Cone5 -Cone6 -EOF - -# Install examples too -for filelist in examples.list; do - for file in `cat $filelist`; do - install -p bin/$file %{buildroot}%{_bindir} - done +# Install examples too, need to remove buildtime runpath manually +for file in `cat testing.list`; do + install -p bin/$file %{buildroot}%{_bindir} + chrpath -l -d %{buildroot}%{_bindir}/$file done # Fix up filelist paths -for filelist in utils.list examples.list; do - perl -pi -e's,^,%{_bindir}/,' $filelist -done +perl -pi -e's,^,%{_bindir}/,' testing.list -# Remove any remnants of rpaths on files we install -# Seems to be some kind of java path -for file in `cat examples.list`; do - chrpath -d %{buildroot}$file -done -chrpath -d %{buildroot}%{_libdir}/qt4/plugins/designer/libQVTKWidgetPlugin.so +# Install data +mkdir -p %{buildroot}%{_datadir}/vtkdata +cp -alL ExternalData/* %{buildroot}%{_datadir}/vtkdata/ -# Main package contains utils and core libs -cat libs.list utils.list > main.list popd -# Make scripts executable -#chmod a+x %{buildroot}%{_libdir}/vtk/doxygen/*.pl -#chmod a+x %{buildroot}%{_libdir}/vtk/testing/*.{py,tcl} +for mpi in %{mpi_list} +do + module load mpi/$mpi-%{_arch} + %cmake_install + + # Gather list of non-java/pythonl/qt libraries + ls %{buildroot}%{_libdir}/${mpi}/lib/*.so.* \ + | grep -Ev '(Java|Python|Qt)' | sed -e's,^%{buildroot},,' > %{_vpath_builddir}/libs.list + + # Move licenses since we cannot install them outside of CMAKE_INSTALL_PREFIX (MPI_HOME) + mv %{buildroot}%{_libdir}/${mpi}/share/licenses/vtk %{buildroot}%{_defaultlicensedir}/%{name}-${mpi} + module purge +done # Remove exec bit from non-scripts and %%doc for file in `find %{buildroot} -type f -perm 0755 \ @@ -351,353 +805,188 @@ for file in `find %{buildroot} -type f -perm 0755 \ head -1 $file | grep '^#!' > /dev/null && continue chmod 0644 $file done -find Utilities/Upgrading -type f | xargs chmod -x +find Utilities/Upgrading -type f -print0 | xargs -0 chmod -x # Setup Wrapping docs tree -mkdir _docs -cp -pr --parents Wrapping/*/README* _docs/ +mkdir -p _docs +cp -pr --parents Wrapping/*/README* _docs/ +# Make noarch data sub-package the same on all arches +# At the moment this only contains Java/Testing/Data/Baseline +rm -rf %{buildroot}%{_datadir}/vtkdata/Wrapping -%check -#LD_LIBARARY_PATH=`pwd`/bin ctest -V - - -%post -p /sbin/ldconfig - -%postun -p /sbin/ldconfig - -%post tcl -p /sbin/ldconfig - -%postun tcl -p /sbin/ldconfig - -%post python -p /sbin/ldconfig - -%postun python -p /sbin/ldconfig - -%if %{with java} -%post java -p /sbin/ldconfig - -%postun java -p /sbin/ldconfig +# The fixed FindHDF5.cmake is patch of CMake now +rm -v %{buildroot}/%{_libdir}/cmake/%{name}/patches/99/FindHDF5.cmake +%if %{with mpich} +rm -v %{buildroot}/%{_libdir}/mpich/lib/cmake/%{name}/patches/99/FindHDF5.cmake +%endif +%if %{with openmpi} +rm -v %{buildroot}/%{_libdir}/openmpi/lib/cmake/%{name}/patches/99/FindHDF5.cmake %endif -%post qt -p /sbin/ldconfig +# https://bugzilla.redhat.com/show_bug.cgi?id=1902729 +# contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/mpich/lib:$ORIGIN:$ORIGIN/../] +# 0x0008 ... the special '$ORIGIN' RPATHs are appearing after other +# RPATHs; this is just a minor issue but usually unwanted +# The paths are equivalent and "this is just a minor issue", so we are allowing it below +# 0x0010 ... the RPATH is empty; there is no reason for such RPATHs +# and they cause unneeded work while loading libraries +# This is appearing on mpi libraries, no idea why. +export QA_RPATHS=18 -%postun qt -p /sbin/ldconfig -%post qt-python -p /sbin/ldconfig +# Test take a very long time on s390x because many tests hit the default 25 minute timeout +%ifnarch s390x +%check +cp %SOURCE2 . +%if %{with xdummy} +if [ -x /usr/libexec/Xorg ]; then + Xorg=/usr/libexec/Xorg +else + Xorg=/usr/libexec/Xorg.bin +fi +$Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./xorg.log -config ./xorg.conf -configdir . :99 & +export DISPLAY=:99 +%endif +export FLEXIBLAS=netlib +%ctest --verbose || : +%if %{with xdummy} +kill %1 || : +cat xorg.log +%endif +%endif -%postun qt-python -p /sbin/ldconfig -%post qt-tcl -p /sbin/ldconfig - -%postun qt-tcl -p /sbin/ldconfig - -%files -f build/main.list -%doc Copyright.txt README.html vtkLogo.jpg vtkBanner.gif _docs/Wrapping -%config(noreplace) %{_sysconfdir}/ld.so.conf.d/vtk-%{_arch}.conf -%{_datadir}/vtk -%dir %{_libdir}/vtk +%files -f %{_vendor}-%{_target_os}-build-serial/libs.list +%license %{_defaultlicensedir}/%{name}/ +%doc README.md _docs/Wrapping +%{_datadir}/vr_actions/ +%{_datadir}/xr_actions/ %files devel %doc Utilities/Upgrading -%{_bindir}/vtkHashSource +%{_bindir}/vtkParseJava +%{_bindir}/vtkProbeOpenGLVersion %{_bindir}/vtkWrapHierarchy -%{_includedir}/vtk -%{_libdir}/vtk/*.so -%{_libdir}/vtk/libvtkWrappingTools.a -%{_libdir}/cmake/vtk/ -%{_bindir}/vtkParseOGLExt -%{_docdir}/vtk-6.1/ -%{tcl_sitelib}/vtk/vtktcl.c +%{_bindir}/vtkWrapJava +%{_bindir}/vtkWrapSerDes -%files tcl -%{_libdir}/vtk/*TCL.so.* -%exclude %{_libdir}/vtk/*QtTCL.so.* -%{_bindir}/vtk -%{_bindir}/vtkWrapTcl -%{_bindir}/vtkWrapTclInit -%{tcl_sitelib}/vtk/ -%exclude %{tcl_sitelib}/vtk/vtktcl.c +%{_includedir}/%{name} +%{_libdir}/*.so +%{_libdir}/cmake/%{name}/ +%dir %{_libdir}/%{name} +%{_libdir}/%{name}/hierarchy/ -%files python -%{python_sitearch}/* -%{_libdir}/vtk/*Python27D.so.* -%exclude %{_libdir}/vtk/*QtPython27D.so.* +%files -n python%{python3_pkgversion}-vtk +%{python3_sitearch}/* +%{_libdir}/*Python*.so.* %{_bindir}/vtkpython %{_bindir}/vtkWrapPython %{_bindir}/vtkWrapPythonInit %if %{with java} %files java -%{_libdir}/vtk/*Java.so.* -%{_libdir}/vtk/vtk.jar -%{_bindir}/vtkParseJava -%{_bindir}/vtkWrapJava +%{_libdir}/*Java.so.* +%dir %{_libdir}/%{name} +%{_libdir}/%{name}/*Java.so +%{_javadir}/vtk.jar %endif %files qt -%{_libdir}/vtk/lib*Qt*.so.* -%exclude %{_libdir}/vtk/*TCL.so.* -%exclude %{_libdir}/vtk/*Python27D.so.* -%{_libdir}/qt4/plugins/designer/libQVTKWidgetPlugin.so +%{_libdir}/lib*Qt*.so.* +%exclude %{_libdir}/*Python*.so.* -%files qt-python -%{_libdir}/vtk/*QtPython27D.so.* +%if %{with mpich} +%files mpich -f %{_vendor}-%{_target_os}-build-mpich/libs.list +%license %{_defaultlicensedir}/%{name}-mpich/ +%doc README.md _docs/Wrapping +%{_libdir}/mpich/share/vr_actions/ +%{_libdir}/mpich/share/xr_actions/ -%files qt-tcl -%{_libdir}/vtk/*QtTCL.so.* +%files mpich-devel +%{_libdir}/mpich/bin/vtkParseJava +%{_libdir}/mpich/bin/vtkProbeOpenGLVersion +%{_libdir}/mpich/bin/vtkWrapHierarchy +%{_libdir}/mpich/bin/vtkWrapJava +%{_libdir}/mpich/bin/vtkWrapSerDes +%{_libdir}/mpich/include/ +%{_libdir}/mpich/lib/*.so +%{_libdir}/mpich/lib/cmake/ +%dir %{_libdir}/mpich/lib/%{name} +%{_libdir}/mpich/lib/%{name}/hierarchy/ -%files testing +%files -n python%{python3_pkgversion}-vtk-mpich +%{_libdir}/mpich/lib/python%{python3_version}/ +%{_libdir}/mpich/lib/*Python*.so.* +%{_libdir}/mpich/bin/pvtkpython +%{_libdir}/mpich/bin/vtkpython +%{_libdir}/mpich/bin/vtkWrapPython +%{_libdir}/mpich/bin/vtkWrapPythonInit -%files examples -f build/examples.list +%if %{with java} +%files mpich-java +%{_libdir}/mpich/lib/*Java.so.* +%dir %{_libdir}/mpich/lib/%{name} +%{_libdir}/mpich/lib/%{name}/*Java.so +%{_libdir}/mpich/share/java/vtk.jar +%endif + +%files mpich-qt +%{_libdir}/mpich/lib/lib*Qt*.so.* +%exclude %{_libdir}/mpich/lib/*Python*.so.* +%endif + +%if %{with openmpi} +%files openmpi -f %{_vendor}-%{_target_os}-build-openmpi/libs.list +%license %{_defaultlicensedir}/%{name}-openmpi/ +%doc README.md _docs/Wrapping +%{_libdir}/openmpi/share/vr_actions/ +%{_libdir}/openmpi/share/xr_actions/ + +%files openmpi-devel +%{_libdir}/openmpi/bin/vtkParseJava +%{_libdir}/openmpi/bin/vtkProbeOpenGLVersion +%{_libdir}/openmpi/bin/vtkWrapHierarchy +%{_libdir}/openmpi/bin/vtkWrapJava +%{_libdir}/openmpi/bin/vtkWrapSerDes +%{_libdir}/openmpi/include/ +%{_libdir}/openmpi/lib/*.so +%{_libdir}/openmpi/lib/cmake/ +%dir %{_libdir}/openmpi/lib/%{name} +%{_libdir}/openmpi/lib/%{name}/hierarchy/ + +%files -n python%{python3_pkgversion}-vtk-openmpi +%{_libdir}/openmpi/lib/python%{python3_version}/ +%{_libdir}/openmpi/lib/*Python*.so.* +%{_libdir}/openmpi/bin/pvtkpython +%{_libdir}/openmpi/bin/vtkpython +%{_libdir}/openmpi/bin/vtkWrapPython +%{_libdir}/openmpi/bin/vtkWrapPythonInit + +%if %{with java} +%files openmpi-java +%{_libdir}/openmpi/lib/*Java.so.* +%dir %{_libdir}/openmpi/lib/%{name} +%{_libdir}/openmpi/lib/%{name}/*Java.so +%{_libdir}/openmpi/share/java/vtk.jar +%endif + +%files openmpi-qt +%{_libdir}/openmpi/lib/lib*Qt*.so.* +%exclude %{_libdir}/openmpi/lib/*Python*.so.* +%endif + +%files data +%{_datadir}/vtkdata + +%files doc +%{_docdir}/%{name}/ + +%files testing -f %{_vendor}-%{_target_os}-build-serial/testing.list + +%files examples %doc vtk-examples/Examples + %changelog -* Tue Jan 28 2014 Orion Poplawski - 6.1.0-4 -- Really fix requires freetype-devel - -* Mon Jan 27 2014 Orion Poplawski - 6.1.0-3 -- Fix requires freetype-devel - -* Sun Jan 26 2014 Orion Poplawski - 6.1.0-2 -- Add Requires: libfreetype-devel; libxml2-devel to vtk-devel (bug #1057924) - -* Thu Jan 23 2014 Orion Poplawski - 6.1.0-1 -- Update to 6.1.0 -- Rebase patches, drop vtkpython patch -- Disable BUILD_TESTING for now until we can provide test data - -* Fri Dec 27 2013 Orion Poplawski - 6.0.0-10 -- Add patch to use system netcdf - -* Sun Dec 22 2013 Kevin Fenzi 6.0.0-9 -- Add BuildRequires on blas-devel and lapack-devel - -* Sun Dec 22 2013 François Cami - 6.0.0-8 -* Rebuild for rawhide. - -* Sun Aug 04 2013 Fedora Release Engineering - 6.0.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Tue Jul 30 2013 Petr Machata - 6.0.0-6 -- Rebuild for boost 1.54.0 - -* Mon Jul 29 2013 Orion Poplawski - 6.0.0-5 -- Enable VTK_WRAP_PYTHON_SIP - -* Fri Jul 26 2013 Orion Poplawski - 6.0.0-4 -- Add patch to install vtkpython - -* Wed Jul 17 2013 Petr Pisar - 6.0.0-3 -- Perl 5.18 rebuild - -* Mon Jul 15 2013 Orion Poplawski - 6.0.0-2 -- Install vtkMakeInstantiator files for gdcm build - -* Fri Jul 12 2013 Orion Poplawski - 6.0.0-1 -- Add BR on R-devel - -* Thu Jun 27 2013 Orion Poplawski - 6.0.0-1 -- Update to 6.0.0 - -* Thu May 16 2013 Orion Poplawski - 5.10.1-5 -- Rebuild for hdf5 1.8.11 - -* Fri Feb 15 2013 Fedora Release Engineering - 5.10.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Mon Jan 21 2013 Adam Tkac - 5.10.1-3 -- rebuild due to "jpeg8-ABI" feature drop - -* Mon Dec 03 2012 Orion Poplawski - 5.10.1-2 -- Rebuild for hdf5 1.8.10 -- Change doc handling - -* Thu Nov 1 2012 Orion Poplawski - 5.10.1-1 -- Update to 5.10.1 - -* Sun Jul 22 2012 Fedora Release Engineering - 5.10.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Thu May 24 2012 Orion Poplawski - 5.10.0-2 -- Add patch to add soname to libvtkNetCDF_cxx - -* Tue May 15 2012 Orion Poplawski - 5.10.0-1 -- Update to 5.10.0 - -* Tue May 15 2012 Jonathan G. Underwood - 5.8.0-6 -- Add cmake28 usage when building for EL6 -- Disable -java build on PPC64 as it fails to build - -* Tue Feb 28 2012 Fedora Release Engineering - 5.8.0-5 -- Rebuilt for c++ ABI breakage - -* Sun Jan 8 2012 Orion Poplawski - 5.8.0-4 -- Rebuild with gcc 4.7 - -* Fri Nov 18 2011 Orion Poplawski - 5.8.0-3 -- Rebuild for hdf5 1.8.8, add explicit requires - -* Tue Nov 1 2011 Orion Poplawski - 5.8.0-2 -- Keep libraries in %%{_libdir}/vtk, use ld.so.conf.d - -* Fri Oct 7 2011 Orion Poplawski - 5.8.0-1 -- Update to 5.8.0 -- Drop version from directory names -- Use VTK_PYTHON_SETUP_ARGS instead of patch to set python install dir -- Drop several patches fixed upstream -- Remove rpaths from all hand installed binaries (Bug 744437) -- Don't link against OSMesa (Bug 744434) - -* Thu Jun 23 2011 Orion Poplawski - 5.6.1-10 -- Add BR qtwebkit-devel, fixes FTBS bug 715770 - -* Thu May 19 2011 Orion Poplawski - 5.6.1-9 -- Update soversion patch to add soversion to libvtkNetCDF.so - -* Mon Mar 28 2011 Orion Poplawski - 5.6.1-8 -- Rebuild for new mysql - -* Thu Mar 17 2011 Orion Poplawski - 5.6.1-7 -- Add needed requires to vtk-devel - -* Wed Mar 16 2011 Orion Poplawski - 5.6.1-6 -- Turn on boost, mysql, postgres, ogg theora, and text analysis support, - bug 688275. - -* Wed Mar 16 2011 Marek Kasik - 5.6.1-5 -- Add backslashes to VTK_INSTALL_LIB_DIR and -- VTK_INSTALL_INCLUDE_DIR (#687895) - -* Tue Mar 15 2011 Orion Poplawski - 5.6.1-4 -- Set VTK_INSTALL_LIB_DIR, fix bug 687895 - -* Fri Feb 18 2011 Orion Poplawski - 5.6.1-3 -- Add patch to support gcc 4.6 -- Add patch to make using system libraries easier -- Update pythondestdir patch to use --prefix and --root -- Use system gl2ps and libxml2 -- Use standard cmake build macro, out of tree builds -- Add patch from upstream to add sonames to libCosmo and libVPIC (bug #622840) - -* Mon Feb 07 2011 Fedora Release Engineering - 5.6.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Tue Dec 7 2010 Orion Poplawski - 5.6.1-1 -- Update to 5.6.1 -- Enable qt4 support, drop qt3 support - -* Wed Oct 20 2010 Adam Jackson 5.6.0-37 -- Rebuild for new libOSMesa soname - -* Sat Jul 31 2010 David Malcolm - 5.6.0-36 -- add python 2.7 compat patch - -* Thu Jul 22 2010 David Malcolm - 5.6.0-35 -- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild - -* Mon Jul 5 2010 Axel Thimm - 5.6.0-34 -- Update to 5.6.0. - -* Sat Jun 6 2009 Axel Thimm - 5.4.2-30 -- Update to 5.4.2. - -* Thu Mar 12 2009 Orion Poplawski - 5.2.1-29 -- Update to 5.2.1 - -* Fri Mar 06 2009 Jesse Keating - 5.2.0-28 -- Remove chmod on examples .so files, none are built. This needs - more attention. - -* Sun Oct 5 2008 Axel Thimm - 5.2.0-26 -- Update to 5.2.0. - -* Wed Oct 1 2008 Orion Poplawski - 5.0.2-25 -- Fix patch fuzz - -* Mon Aug 25 2008 Axel Thimm - 5.0.4-24 -- Change java build dependencies from java-devel to gcj. - -* Sun Aug 24 2008 Axel Thimm - 5.0.4-23 -- %%check || : does not work anymore. -- enable java by default. - -* Wed May 21 2008 Tom "spot" Callaway - 5.0.4-22 -- fix license tag - -* Sat Apr 12 2008 Axel Thimm - 5.0.4-21 -- Fixes for gcc 4.3 by Orion Poplawski. - -* Sat Apr 5 2008 Axel Thimm - 5.0.4-20 -- Change BR to qt-devel to qt3-devel. - -* Sat Feb 23 2008 Axel Thimm - 5.0.4-19 -- Update to 5.0.4. - -* Mon May 28 2007 Axel Thimm - 5.0.3-18 -- Move headers to %%{_includedir}/vtk. -- Remove executable bit from sources. - -* Mon Apr 16 2007 Axel Thimm - 5.0.3-17 -- Make java build conditional. -- Add ldconfig %%post/%%postun for java/qt subpackages. - -* Sun Apr 15 2007 Axel Thimm - 5.0.3-16 -- Remove %%ghosting pyc/pyo. - -* Wed Apr 04 2007 Paulo Roma - 5.0.3-15 -- Update to 5.0.4. -- Added support for qt4 plugin. - -* Wed Feb 7 2007 Orion Poplawski - 5.0.2-14 -- Enable Java, Qt, GL2PS, OSMESA - -* Mon Sep 11 2006 Axel Thimm - 5.0.2-13 -- Update to 5.0.2. - -* Sun Aug 6 2006 Axel Thimm - 5.0.1-12 -- cmake needs to be >= 2.0.4. - -* Fri Aug 4 2006 Axel Thimm - 5.0.1-11 -- Fix some python issues including pyo management. - -* Sun Jul 23 2006 Axel Thimm - 5.0.1-10 -- Embed feedback from bug 199405 comment 5. -- Fix some Group entries. -- Remove redundant dependencies. -- Use system libs. -- Comment specfile more. -- Change buildroot handling with CMAKE_INSTALL_PREFIX. -- Enable qt designer plugin. - -* Wed Jul 19 2006 Axel Thimm - 5.0.1-7 -- Fix some permissions for rpmlint and debuginfo. - -* Sun Jul 16 2006 Axel Thimm - 5.0.1-7 -- Remove rpath and some further rpmlint warnings. - -* Thu Jul 13 2006 Axel Thimm - 5.0.1-6 -- Update to 5.0.1. - -* Wed May 31 2006 Axel Thimm -- Update to 5.0. - -* Mon Apr 05 2004 Intrinsic Spin 2.mr -- built on a machine with a stock libGL.so - -* Sun Apr 04 2004 Intrinsic Spin -- little cleanups -- Built for FC1 - -* Sun Jan 11 2004 Intrinsic Spin -- Built against a reasonably good (according to dashboard) CVS version so-as - to get GL2PS support. -- Rearranged. Cleaned up. Added some comments. - -* Sat Jan 10 2004 Intrinsic Spin -- Blatently stole this spec file for my own nefarious purposes. -- Removed Java (for now). Merged the Python and Tcl stuff into - the main rpm. - -* Fri Dec 05 2003 Fabrice Bellet -- (See Fabrice's RPMs for any more comments --Spin) +%autochangelog diff --git a/xorg.conf b/xorg.conf new file mode 100644 index 0000000..39bc48a --- /dev/null +++ b/xorg.conf @@ -0,0 +1,135 @@ +# This xorg configuration file is meant to be used +# to start a dummy X11 server for graphical testing. + +Section "ServerFlags" + Option "DontVTSwitch" "true" + Option "AllowMouseOpenFail" "true" + Option "PciForceNone" "true" + Option "AutoEnableDevices" "false" + Option "AutoAddDevices" "false" +EndSection + +Section "InputDevice" + Identifier "dummy_mouse" + Option "CorePointer" "true" + Driver "void" +EndSection + +Section "InputDevice" + Identifier "dummy_keyboard" + Option "CoreKeyboard" "true" + Driver "void" +EndSection + +Section "Device" + Identifier "dummy_videocard" + Driver "dummy" + Option "ConstantDPI" "true" + #VideoRam 4096000 + #VideoRam 256000 + VideoRam 192000 +EndSection + +Section "Monitor" + Identifier "dummy_monitor" + HorizSync 5.0 - 1000.0 + VertRefresh 5.0 - 200.0 + #This can be used to get a specific DPI, but only for the default resolution: + #DisplaySize 508 317 + #NOTE: the highest modes will not work without increasing the VideoRam + # for the dummy video card. + Modeline "32768x32768" 15226.50 32768 35800 39488 46208 32768 32771 32781 32953 + Modeline "32768x16384" 7516.25 32768 35544 39192 45616 16384 16387 16397 16478 + Modeline "16384x8192" 2101.93 16384 16416 24400 24432 8192 8390 8403 8602 + Modeline "8192x4096" 424.46 8192 8224 9832 9864 4096 4195 4202 4301 + Modeline "5496x1200" 199.13 5496 5528 6280 6312 1200 1228 1233 1261 + Modeline "5280x1080" 169.96 5280 5312 5952 5984 1080 1105 1110 1135 + Modeline "5280x1200" 191.40 5280 5312 6032 6064 1200 1228 1233 1261 + Modeline "5120x3200" 199.75 5120 5152 5904 5936 3200 3277 3283 3361 + Modeline "4800x1200" 64.42 4800 4832 5072 5104 1200 1229 1231 1261 + Modeline "3840x2880" 133.43 3840 3872 4376 4408 2880 2950 2955 3025 + Modeline "3840x2560" 116.93 3840 3872 4312 4344 2560 2622 2627 2689 + Modeline "3840x2048" 91.45 3840 3872 4216 4248 2048 2097 2101 2151 + Modeline "3840x1080" 100.38 3840 3848 4216 4592 1080 1081 1084 1093 + Modeline "3600x1200" 106.06 3600 3632 3984 4368 1200 1201 1204 1214 + Modeline "3288x1080" 39.76 3288 3320 3464 3496 1080 1106 1108 1135 + Modeline "2048x2048" 49.47 2048 2080 2264 2296 2048 2097 2101 2151 + Modeline "2048x1536" 80.06 2048 2104 2312 2576 1536 1537 1540 1554 + Modeline "2560x1600" 47.12 2560 2592 2768 2800 1600 1639 1642 1681 + Modeline "2560x1440" 42.12 2560 2592 2752 2784 1440 1475 1478 1513 + Modeline "1920x1440" 69.47 1920 1960 2152 2384 1440 1441 1444 1457 + Modeline "1920x1200" 26.28 1920 1952 2048 2080 1200 1229 1231 1261 + Modeline "1920x1080" 23.53 1920 1952 2040 2072 1080 1106 1108 1135 + Modeline "1680x1050" 20.08 1680 1712 1784 1816 1050 1075 1077 1103 + Modeline "1600x1200" 22.04 1600 1632 1712 1744 1200 1229 1231 1261 + Modeline "1600x900" 33.92 1600 1632 1760 1792 900 921 924 946 + Modeline "1440x900" 30.66 1440 1472 1584 1616 900 921 924 946 + ModeLine "1366x768" 72.00 1366 1414 1446 1494 768 771 777 803 + Modeline "1280x1024" 31.50 1280 1312 1424 1456 1024 1048 1052 1076 + Modeline "1280x800" 24.15 1280 1312 1400 1432 800 819 822 841 + Modeline "1280x768" 23.11 1280 1312 1392 1424 768 786 789 807 + Modeline "1360x768" 24.49 1360 1392 1480 1512 768 786 789 807 + Modeline "1024x768" 18.71 1024 1056 1120 1152 768 786 789 807 + Modeline "768x1024" 19.50 768 800 872 904 1024 1048 1052 1076 + + + #common resolutions for android devices (both orientations): + Modeline "800x1280" 25.89 800 832 928 960 1280 1310 1315 1345 + Modeline "1280x800" 24.15 1280 1312 1400 1432 800 819 822 841 + Modeline "720x1280" 30.22 720 752 864 896 1280 1309 1315 1345 + Modeline "1280x720" 27.41 1280 1312 1416 1448 720 737 740 757 + Modeline "768x1024" 24.93 768 800 888 920 1024 1047 1052 1076 + Modeline "1024x768" 23.77 1024 1056 1144 1176 768 785 789 807 + Modeline "600x1024" 19.90 600 632 704 736 1024 1047 1052 1076 + Modeline "1024x600" 18.26 1024 1056 1120 1152 600 614 617 631 + Modeline "536x960" 16.74 536 568 624 656 960 982 986 1009 + Modeline "960x536" 15.23 960 992 1048 1080 536 548 551 563 + Modeline "600x800" 15.17 600 632 688 720 800 818 822 841 + Modeline "800x600" 14.50 800 832 880 912 600 614 617 631 + Modeline "480x854" 13.34 480 512 560 592 854 873 877 897 + Modeline "848x480" 12.09 848 880 920 952 480 491 493 505 + Modeline "480x800" 12.43 480 512 552 584 800 818 822 841 + Modeline "800x480" 11.46 800 832 872 904 480 491 493 505 + #resolutions for android devices (both orientations) + #minus the status bar + #38px status bar (and width rounded up) + Modeline "800x1242" 25.03 800 832 920 952 1242 1271 1275 1305 + Modeline "1280x762" 22.93 1280 1312 1392 1424 762 780 783 801 + Modeline "720x1242" 29.20 720 752 856 888 1242 1271 1276 1305 + Modeline "1280x682" 25.85 1280 1312 1408 1440 682 698 701 717 + Modeline "768x986" 23.90 768 800 888 920 986 1009 1013 1036 + Modeline "1024x730" 22.50 1024 1056 1136 1168 730 747 750 767 + Modeline "600x986" 19.07 600 632 704 736 986 1009 1013 1036 + Modeline "1024x562" 17.03 1024 1056 1120 1152 562 575 578 591 + Modeline "536x922" 16.01 536 568 624 656 922 943 947 969 + Modeline "960x498" 14.09 960 992 1040 1072 498 509 511 523 + Modeline "600x762" 14.39 600 632 680 712 762 779 783 801 + Modeline "800x562" 13.52 800 832 880 912 562 575 578 591 + Modeline "480x810" 12.59 480 512 552 584 810 828 832 851 + Modeline "848x442" 11.09 848 880 920 952 442 452 454 465 + Modeline "480x762" 11.79 480 512 552 584 762 779 783 801 +EndSection + +Section "Screen" + Identifier "dummy_screen" + Device "dummy_videocard" + Monitor "dummy_monitor" + DefaultDepth 24 + SubSection "Display" + Viewport 0 0 + Depth 24 + #Modes "32768x32768" "32768x16384" "16384x8192" "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200" + Modes "5120x3200" "3840x2880" "3840x2560" "3840x2048" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200" + #Virtual 32000 32000 + #Virtual 16384 8192 + Virtual 8192 4096 + #Virtual 5120 3200 + EndSubSection +EndSection + +Section "ServerLayout" + Identifier "dummy_layout" + Screen "dummy_screen" + InputDevice "dummy_mouse" + InputDevice "dummy_keyboard" +EndSection