%global _lto_cflags %{nil} %define debug_package %{nil} %global _smp_mflags -j8 Name: viskores Version: 1.2.0 Release: 3%{?dist} Summary: Toolkit of scientific visualization algorithms for emerging processor architectures License: BSD-3-Clause URL: https://github.com/Viskores/viskores Source0: https://github.com/Viskores/viskores/archive/refs/tags/v%{version}.tar.gz#/viskores-v%{version}.tar.gz BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: ninja-build BuildRequires: chrpath # Viskores can use OpenMP for parallelism on host CPUs — cheap win, no extra # runtime deps beyond libgomp. CUDA/Kokkos/TBB are intentionally disabled # (deferred to dedicated subpackages if a consumer ever needs them). %description Viskores (formerly VTK-m) is a toolkit of scientific visualization algorithms designed for emerging processor architectures with many integrated cores. It offers a unified data and execution model for algorithms that can be portably accelerated on multi-core CPUs and GPUs. This COPR build is configured to interoperate with VTK 9.6+: it uses VTK-compatible default types (`Viskores_USE_DEFAULT_TYPES_FOR_VTK=ON`) and matches the build flags VTK's internal-bundled Viskores uses. Once this package is installed, VTK can be rebuilt with `-DVTK_MODULE_USE_EXTERNAL_vtkviskores=ON` to drop the bundled copy. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: cmake %description devel Headers and cmake configuration for building applications against Viskores. %prep %autosetup -p1 -n viskores-%{version} %build %cmake -GNinja \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DViskores_BUILD_ALL_LIBRARIES:BOOL=ON \ `# VTK compatibility — match the flags VTK 9.6.2's bundled build sets in` \ `# ThirdParty/viskores/vtkviskores/CMakeLists.txt so a downstream` \ `# find_package(Viskores) from VTK produces a compatible binding.` \ -DViskores_USE_DEFAULT_TYPES_FOR_VTK:BOOL=ON \ -DViskores_USE_DEFAULT_SYMBOL_VISIBILITY:BOOL=OFF \ -DViskores_USE_DOUBLE_PRECISION:BOOL=OFF \ -DViskores_USE_64BIT_IDS:BOOL=ON \ -DViskores_ADD_XGC_TO_DEFAULT_TYPES_VTK:BOOL=OFF \ -DViskores_USE_DEFAULT_TYPES_FOR_ASCENT:BOOL=OFF \ -DViskores_ENABLE_LOGGING:BOOL=ON \ -DViskores_ENABLE_RENDERING:BOOL=OFF \ `# testlib is a real library: this installs libviskores_cont_testing and its headers` \ `# (viskores/cont/testlib/MakeTestDataSet.h), which VTK's AcceleratorsVTKm tests use.` \ -DViskores_ENABLE_TESTING_LIBRARY:BOOL=ON \ -DViskores_ENABLE_HDF5_IO:BOOL=OFF \ -DViskores_ENABLE_OPENMP:BOOL=ON \ -DViskores_ENABLE_TBB:BOOL=OFF \ -DViskores_ENABLE_CUDA:BOOL=OFF \ -DViskores_ENABLE_KOKKOS:BOOL=OFF \ -DViskores_ENABLE_MPI:BOOL=OFF \ -DViskores_ENABLE_DOCUMENTATION:BOOL=OFF \ -DViskores_ENABLE_EXAMPLES:BOOL=OFF \ -DViskores_ENABLE_TUTORIALS:BOOL=OFF \ `# The unit-test tree (hundreds of UnitTest_* binaries) is not built: 1.2.0's` \ `# cont/testing/CMakeLists.txt declares no installable headers, so enabling it` \ `# installs nothing extra and VTK is built with VTK_BUILD_TESTING=OFF anyway.` \ -DViskores_ENABLE_TESTING:BOOL=OFF \ -DViskores_ENABLE_BENCHMARKS:BOOL=OFF \ -DViskores_ENABLE_CPACK:BOOL=OFF \ -DViskores_NO_ASSERT:BOOL=OFF \ -DViskores_INSTALL_LIB_DIR:PATH=%{_lib} \ -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON %cmake_build %install %cmake_install # Strip any residual build-tree RPATHs from installed libraries. find %{buildroot}%{_libdir} -name 'libviskores*.so*' -exec chrpath --delete {} \; 2>/dev/null || true %ldconfig_scriptlets %files %license LICENSE.txt %doc README.md %{_libdir}/libviskores*.so.* %{_datadir}/viskores-1.2/ %files devel %{_includedir}/viskores-1.2/ %{_libdir}/libviskores*.so %{_libdir}/cmake/viskores-1.2/ %{_libdir}/pkgconfig/viskores.pc %changelog * Tue Oct 27 2026 Morgan Hough - 1.2.0-3 - Rebuild without the rawhide chroots so the 1.2.0-2 build, the only one that reaches rawhide, can be deleted: Fedora's rawhide vtk bundles viskores and the COPR package conflicts with it file by file. * Thu Oct 22 2026 Morgan Hough - 1.2.0-2 - Drop the dead -DViskores_ENABLE_TESTING=ON: a later -DViskores_ENABLE_TESTING=OFF on the same command line won, so the 1.2.0-1 changelog's "keeps ENABLE_TESTING=ON" was never true (the served -devel has no viskores/cont/testing/ headers). Verified against 1.2.0's cont/testing/CMakeLists.txt that ON would install nothing extra anyway: only cont/testlib (ENABLE_TESTING_LIBRARY, still ON) ships MakeTestDataSet.h. No content change; the comments now describe what is built. * Wed Sep 09 2026 Morgan Hough - 1.2.0-1 - Update to 1.2.0 (released 2026-08-20). VTK 9.7 bundles viskores 1.2.0-rc1, and its Accelerators/Vtkm tests include . At 1.1.1 that header exists only under cont/testlib/, so a VTK built with VTK_BUILD_TESTING failed on TestVTKMDataSet.cxx. Enabling Viskores_ENABLE_TESTING at 1.1.1 did not help -- the header genuinely is not in 1.1.1's cont/testing. Matching the version VTK expects is the actual fix. - Keeps Viskores_ENABLE_TESTING=ON: cont/testing is headers-only and gated behind it, unlike cont/testlib which is a real library whose headers ENABLE_TESTING_LIBRARY already installed. * Wed Sep 09 2026 Morgan Hough - 1.1.1-2 - Install the viskores/cont/testing/ headers by enabling Viskores_ENABLE_TESTING. cont/testlib is built as a library so ENABLE_TESTING_LIBRARY already installed its headers, but cont/testing is headers-only and gated behind the full test flag, so MakeTestDataSet.h shipped only under testlib/. VTK 9.7 includes it from testing/, which made vtk-testing unbuildable: Accelerators/Vtkm/DataModel/Testing/Cxx/TestVTKMDataSet.cxx:30:10: fatal error: viskores/cont/testing/MakeTestDataSet.h: No such file or directory * Sun Jun 14 2026 Morgan Hough - 1.1.1-1 - Update to 1.1.1 (current upstream; freshness sweep 2026-06-14) * Tue Jun 2 2026 Morgan Hough - 1.1.0-3 - Flip Viskores_USE_64BIT_IDS:BOOL=ON to match VTK 9.6.2's default (VTK_USE_64BIT_IDS=ON by upstream default). vtk -11 build 10533571 failed at compile with `#error VTK was defined with 64-bit ids but Viskores with 32-bit ids` because viskores -2 was built with 32-bit. * Sun May 31 2026 Morgan Hough - 1.1.0-2 - Add %%{_libdir}/pkgconfig/viskores.pc to %%files devel. Build 10528870 compiled cleanly (69 min) but failed the unpackaged-files check. * Sun May 31 2026 Morgan Hough - 1.1.0-1 - Initial standalone packaging of upstream Viskores 1.1.0 for the neurofedora COPR. Matches the build flags VTK 9.6.2's internal-bundled copy uses (Viskores_USE_DEFAULT_TYPES_FOR_VTK=ON, Viskores_USE_DEFAULT_SYMBOL_VISIBILITY=OFF, etc.) so that VTK can be rebuilt with -DVTK_MODULE_USE_EXTERNAL_vtkviskores=ON and drop its Provides: bundled(viskores). - OpenMP enabled; CUDA/Kokkos/TBB/MPI/Rendering disabled (deferred — separate subpackages if a future consumer needs them, mirroring vtk-mpi for MPI variants).