diff --git a/sci-libs/vtk/Manifest b/sci-libs/vtk/Manifest index 81b2144a403a2..29e7b37c68d7c 100644 --- a/sci-libs/vtk/Manifest +++ b/sci-libs/vtk/Manifest @@ -1,12 +1,6 @@ -DIST VTK-9.4.2.tar.gz 118621433 BLAKE2B 5e9ffff915e41fad349cb0fc7aba3620e946362a6e91f7291c1a052691cbebfa3d5cb2a686e561f99f44a8aa608caa2d0201ce8b7cabed6337378bf354b69390 SHA512 740919c9b63ad91c5ae45b90b502585a78e9f08b32f06308c475d874decc1e99e813c49c67d37586886ad4860e61630cd51569747003dcf88b3fb744c481f515 DIST VTK-9.5.2.tar.gz 50189467 BLAKE2B 6e7dab56c4f48d066ca44637f8839e9abc973d2831381ef5aec860aa1daa49ac9beca223e439c12dda2c33056b45395043f2edc54f55f9d169719b6c96499f40 SHA512 fc8157a89fa603a7f7fce356e2f638ae69e0ea629a507458bdbb173daf511c61e39a1f0d7201b196a5b3a7ffa7e3e821398b62521faadf85edb1119a1e8b8e8e -DIST VTKData-9.4.2.tar.gz 1095344755 BLAKE2B d995ef59df2d12c85bd8b44280cec3b7b7a9a494ae19c68eda432310e07d92f6da8649f89dd75485c40d49c86ce28bf8e120900a9cb4545454154e04909866b1 SHA512 a379d442ad4f378c961aef3e285b87b633412eddc7b28f99893d34c700ce07eae5267dd33e29fd1aa065095e541145cd5baba3d6c54d9da3e00aea0b7573c51c DIST VTKData-9.5.2.tar.gz 1096057742 BLAKE2B 3c50adba539e7457268cd122246361e2161a003264cf4df6a3c7c3b62e9f35026588ad046112c0dd0b8360f6f8f67d5fc6f034bd5cdd4bb67d746dcf2ebb2a86 SHA512 1be895bed613ed0f0ace0ba5e138afacc3d61b57e437299b3aecf6beff702ad1a2d02036fd147853bbbcb6a1f9d20a51831c0263fdc5b8e62ece9a6f8f7d410e -DIST VTKDataFiles-9.4.2.tar.gz 1127688904 BLAKE2B 7cf79325e3d8b5eb935f936321b5465c77a1764afeb9206c2709cca48044f686cd7a3e450686c145a4d9b47b32c9f1e8b8661b499ea30e1c2c47f9200eb6d1d9 SHA512 93bcc16ef7989d2e76effb9b6f778f50f9d0048d1c2a89fa55a6c2c9c8ae228d22cea77f588a729db82c0ab0e87cbd37053c228600fcb9f5734caa3cb714fb7a DIST VTKDataFiles-9.5.2.tar.gz 1128658332 BLAKE2B c3c3e259479f78bb0cc60b48e00d3fad21dd8bb924e16b87801d230c2f684fc04431873eb7fd5617cb93a09319038f835da17357888ba207f4e10faf19bf6c01 SHA512 f3503fea75aa248fb5b225e4e6437fe47b2eabdc39ffd4113e5f87a5d9edd232afef7e21375e40cf3a6e979f399a7fcc5bdc0b09a6759a2baa491eb360ce0c8b -DIST VTKLargeData-9.4.2.tar.gz 247520755 BLAKE2B d006a0b5a9296332cafcee0917dab1db76e90fa145dbb3093b82dcb668ef38947db97711a00d5013e16147eb3df3cad0f501262897ba342741fa1205a115f31f SHA512 7e896f7b3ee2a454f24bd4b55fe10658d90abd4352ca4d1baed4c67c2606dda7a408ca4d807b05362e311432c0961df0cddfa5236e3aa233ddf28e4a3d48cd58 DIST VTKLargeData-9.5.2.tar.gz 247524517 BLAKE2B 439daacebf50ff65019b42ba3f9a244428ea1d49951e135a655acd65342d6a7ee6a01c313b2565e574910218eebdd8e0291ecfc4c6615b3111050b7233d5a7c8 SHA512 f1ee327bc9ffa4f4055e169b940239031c00e18a3109bb720c5bcc3a68821761c2d5eb573db5245956721cf534b58d3fa737c2ecdac8c90cd3dada565c1a40d5 -DIST VTKLargeDataFiles-9.4.2.tar.gz 247504324 BLAKE2B 650b1f8b9bc8a386a3172fa091cb27dbdfdfe8a7317d7afe109ec4273bfbf3bb67c947e83b7ae47a096327cfba9bc5d655375a7ae7ff46b85291ed684f2f3497 SHA512 c43b3b46a2a3a3ad5938d4b3b323cab8cc51591c9a514abf6fdb33a51009572c6fdb0653b3e49ebe594ab6ff204dbe49f4d9d34a3fb0d56db1b2392674301d02 DIST VTKLargeDataFiles-9.5.2.tar.gz 247505288 BLAKE2B 49c02df1cda16b0ff8b447d3785afaef56c15aa447f4bc464676a2b52cd9f9812221e566480ca17990538f69f84ea818b5776c422105a3eb53dc63d5518ca0de SHA512 1ee7beba1ca7eeabe634cf31ff2c377ea708fa0ddd40b60e90ab582e4e439ad130a84449d138040f2c47741026ace4613272409f2b958ebc315a55f62a1fa7e8 -DIST vtkDocHtml-9.4.2.tar.gz 191366459 BLAKE2B 36edb0abc9b72def067fc8ce937c7f3154b071a73932634d753ab112436cf66a4b2b5ccc5f2a474ada4d869c4b61457e514bb2e52c4ccf3fb7d27150aadaed4c SHA512 3beb5c1e49f897d320069517134b34ce9bb8ef21a38f95f76e9e06a7bd260532e62e540b3e684daa93641525fe0097d272edfe8370a2a4eb72176d0fd3575b87 DIST vtkDocHtml-9.5.2.tar.gz 193518054 BLAKE2B 1af2d23d049dbd0ccf6307b3fa0a25c917850c70c7e5ce14e76b02baa7fd4d9be1c2f453dfd1a54b3da30ff8ee5ac374d1ad41225cc6affb3ac29ca037d20687 SHA512 76b572f4b4a0bc4c7573334522017578e2eb1cfd83bdc973c515b65ec23a4fe8e2d7914cc1d4c78d574187068df918ccb575904252f96d88ed94428460698721 diff --git a/sci-libs/vtk/files/vtk-9.3.0-opencascade.patch b/sci-libs/vtk/files/vtk-9.3.0-opencascade.patch deleted file mode 100644 index d7e0e3f9556c8..0000000000000 --- a/sci-libs/vtk/files/vtk-9.3.0-opencascade.patch +++ /dev/null @@ -1,15 +0,0 @@ -From: https://gitlab.archlinux.org/archlinux/packaging/packages/vtk/-/blob/main/vtk-occt.patch -From: Sven-Hendrik Haase ---- a/IO/OCCT/vtkOCCTReader.h -+++ b/IO/OCCT/vtkOCCTReader.h -@@ -48,8 +48,8 @@ public: - * It can be either STEP or IGES. - * Default is FILE_FORMAT::STEP - */ -- VTK_DEPRECATED_IN_9_3_0("Use SetFormat with unsigned int instead.") -- vtkSetEnumMacro(FileFormat, Format); -+ // VTK_DEPRECATED_IN_9_3_0("Use SetFormat with unsigned int instead.") -+ // vtkSetEnumMacro(FileFormat, Format); - vtkSetClampMacro(FileFormat, unsigned int, Format::STEP, Format::IGES); - ///@} - diff --git a/sci-libs/vtk/files/vtk-9.3.0-update-for-cuda-12.6.patch b/sci-libs/vtk/files/vtk-9.3.0-update-for-cuda-12.6.patch deleted file mode 100644 index 6a913a551315f..0000000000000 --- a/sci-libs/vtk/files/vtk-9.3.0-update-for-cuda-12.6.patch +++ /dev/null @@ -1,22 +0,0 @@ -From f568d669465f5825006be2fba8a117060e832618 Mon Sep 17 00:00:00 2001 -From: Paul Zander -Date: Sun, 8 Sep 2024 22:27:09 +0200 -Subject: [PATCH] update for cuda 12.6 - -https://github.com/NVIDIA/cccl/commit/733eb94a2b98b8d5b5ab1e39cbd8ac1aed9173ec - -Bug: https://bugs.gentoo.org/938673 -Signed-off-by: Paul Zander - ---- a/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/exec/cuda/internal/WrappedOperators.h -+++ b/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/exec/cuda/internal/WrappedOperators.h -@@ -195,7 +195,7 @@ namespace detail - // - template - struct is_commutative> -- : public thrust::detail::is_arithmetic -+ : public ::cuda::std::is_arithmetic - { - }; - } - diff --git a/sci-libs/vtk/files/vtk-9.4.2-ThirdParty-gcc15.patch b/sci-libs/vtk/files/vtk-9.4.2-ThirdParty-gcc15.patch deleted file mode 100644 index 5698d6e8f25fc..0000000000000 --- a/sci-libs/vtk/files/vtk-9.4.2-ThirdParty-gcc15.patch +++ /dev/null @@ -1,46 +0,0 @@ -From d00b98bd8ef02f854f1068e8ab8fd2fb28244c3b Mon Sep 17 00:00:00 2001 -From: Ted Rodgers -Date: Sat, 10 Aug 2024 16:13:09 -0400 -Subject: [PATCH] include cstdint + correct case/words - ---- a/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/filter/contour/worklet/mir/MIRTables.h -+++ b/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/filter/contour/worklet/mir/MIRTables.h -@@ -11402,7 +11402,7 @@ public: - - VTKM_EXEC vtkm::UInt8 GetPoint(vtkm::Id pointIndex) const - { -- return this->CellFacePortal.Get(pointIndex); -+ return this->CellEdgesPortal.Get(pointIndex); - } - - private: ---- a/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/filter/scalar_topology/worklet/contourtree_distributed/HierarchicalContourTree.h -+++ b/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/filter/scalar_topology/worklet/contourtree_distributed/HierarchicalContourTree.h -@@ -663,7 +663,7 @@ std::string HierarchicalContourTree::PrintDotSuperStructure(const cha - auto hyperarcsPortal = this->Hyperarcs.ReadPortal(); - auto regularNodeGlobalIdsPortal = this->RegularNodeGlobalIds.ReadPortal(); - auto whichIterationPortal = this->WhichIteration.ReadPortal(); -- auto whichRoundPortal = this->whichRound.ReadPortal(); -+ auto whichRoundPortal = this->WhichRound.ReadPortal(); - auto superarcsPortal = this->Superarcs.ReadPortal(); - auto superparentsPortal = this->Superparents.ReadPortal(); - for (vtkm::Id supernode = 0; supernode < this->Supernodes.GetNumberOfValues(); supernode++) -@@ -708,7 +708,7 @@ std::string HierarchicalContourTree::PrintDotSuperStructure(const cha - if (contourtree_augmented::NoSuchElement(superarcTo)) - { // no superarc - // if it occurred on the final round, it's the global root and is shown as the NULL node -- if (whichRoundPortal.Get(superarcFrom) == this->NRounds) -+ if (whichRoundPortal.Get(superarcFrom) == this->NumRounds) - { // root node - outstream << "\tSN" << std::setw(1) << superarcFrom << " -> SA" << std::setw(1) << superarc - << " [label=\"S" << std::setw(1) << superarc << "\",style=dotted]\n"; ---- a/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/thirdparty/diy/vtkmdiy/include/vtkmdiy/thirdparty/itlib/small_vector.hpp -+++ b/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/thirdparty/diy/vtkmdiy/include/vtkmdiy/thirdparty/itlib/small_vector.hpp -@@ -140,6 +140,7 @@ - - #include - #include -+#include - #include - - #define ITLIB_SMALL_VECTOR_ERROR_HANDLING_NONE 0 diff --git a/sci-libs/vtk/files/vtk-9.4.2-find-hdf5-in-global-scope.patch b/sci-libs/vtk/files/vtk-9.4.2-find-hdf5-in-global-scope.patch deleted file mode 100644 index ba0ee724b0c24..0000000000000 --- a/sci-libs/vtk/files/vtk-9.4.2-find-hdf5-in-global-scope.patch +++ /dev/null @@ -1,26 +0,0 @@ -From b16f4381d0cdc147e4aff0b6f1fdbac3bbf1de7d Mon Sep 17 00:00:00 2001 -From: Paul Zander -Date: Fri, 25 Apr 2025 00:32:48 +0200 -Subject: [PATCH] find hdf5 in global scope - -Signed-off-by: Paul Zander - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 96bb1d4..c5d8e09 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -419,6 +419,11 @@ if (VTK_FORBID_DOWNLOADS AND VTK_BUILD_TESTING) - "copy of the testing data.") - endif () - -+if(VTK_MODULE_ENABLE_VTK_hdf5 STREQUAL "WANT" OR -+ VTK_MODULE_ENABLE_VTK_hdf5 STREQUAL "YES") -+ find_package(HDF5 REQUIRED NO_MODULE COMPONENTS HL) -+endif() -+ - include(vtkModule) - include(vtkModuleDebugging) - set(vtk_source_directories --- -2.49.0 - diff --git a/sci-libs/vtk/files/vtk-9.4.2-fix-fmt-11.patch b/sci-libs/vtk/files/vtk-9.4.2-fix-fmt-11.patch deleted file mode 100644 index f586711398ed5..0000000000000 --- a/sci-libs/vtk/files/vtk-9.4.2-fix-fmt-11.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 4eaf66f11bb80c0f805fd3361cdd9b412aabe796 Mon Sep 17 00:00:00 2001 -From: Paul Zander -Date: Tue, 14 Jan 2025 14:00:01 +0100 -Subject: [PATCH] fix fmt-11 - -Signed-off-by: Paul Zander - -diff --git a/ThirdParty/ioss/vtkioss/Ioss_Field.C b/ThirdParty/ioss/vtkioss/Ioss_Field.C -index fbb2100..8909eef 100644 ---- a/ThirdParty/ioss/vtkioss/Ioss_Field.C -+++ b/ThirdParty/ioss/vtkioss/Ioss_Field.C -@@ -12,6 +12,7 @@ - #include - #include "vtk_fmt.h" - #include VTK_FMT(fmt/ostream.h) -+#include VTK_FMT(fmt/ranges.h) - #include - #include - #include -diff --git a/ThirdParty/ioss/vtkioss/Ioss_VariableType.C b/ThirdParty/ioss/vtkioss/Ioss_VariableType.C -index b081dc3..4f1a841 100644 ---- a/ThirdParty/ioss/vtkioss/Ioss_VariableType.C -+++ b/ThirdParty/ioss/vtkioss/Ioss_VariableType.C -@@ -19,6 +19,7 @@ - #include VTK_FMT(fmt/core.h) - #include VTK_FMT(fmt/format.h) - #include VTK_FMT(fmt/ostream.h) -+#include VTK_FMT(fmt/ranges.h) - #include - #include - #include --- -2.48.0 - diff --git a/sci-libs/vtk/files/vtk-9.4.2-opencascade-components.patch b/sci-libs/vtk/files/vtk-9.4.2-opencascade-components.patch deleted file mode 100644 index 2b324529c62f8..0000000000000 --- a/sci-libs/vtk/files/vtk-9.4.2-opencascade-components.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/IO/OCCT/CMakeLists.txt b/IO/OCCT/CMakeLists.txt -index 836d545..2cf67a8 100644 ---- a/IO/OCCT/CMakeLists.txt -+++ b/IO/OCCT/CMakeLists.txt -@@ -2,6 +2,7 @@ vtk_module_find_package( - PACKAGE OpenCASCADE - FORWARD_VERSION_REQ EXACT - VERSION_VAR "@OpenCASCADE_MAJOR_VERSION@.@OpenCASCADE_MINOR_VERSION@.@OpenCASCADE_MAINTENANCE_VERSION@" -+ COMPONENTS FoundationClasses ModelingData ModelingAlgorithms Visualization ApplicationFramework DataExchange Draw - ) - - set(opencascade_req_targets diff --git a/sci-libs/vtk/files/vtk-9.4.2-vtk-m-jobpool-size.patch b/sci-libs/vtk/files/vtk-9.4.2-vtk-m-jobpool-size.patch deleted file mode 100644 index d49e6f87f0364..0000000000000 --- a/sci-libs/vtk/files/vtk-9.4.2-vtk-m-jobpool-size.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake/VTKmWrappers.cmake b/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake/VTKmWrappers.cmake -index 10ba21e..e88299e 100644 ---- a/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake/VTKmWrappers.cmake -+++ b/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake/VTKmWrappers.cmake -@@ -175,7 +175,7 @@ function(vtkm_setup_job_pool) - # will require 3GB of memory. To allow for other NON VTK-m jobs we leave at - # least 3GB of memory as 'slop'. - cmake_host_system_information(RESULT vtkm_mem_ QUERY TOTAL_PHYSICAL_MEMORY) -- math(EXPR vtkm_pool_size "(${vtkm_mem_}/3072)-1") -+ math(EXPR vtkm_pool_size "(${vtkm_mem_}/10240 - 3072)-1") - - if (vtkm_pool_size LESS 1) - set(vtkm_pool_size 1) diff --git a/sci-libs/vtk/vtk-9.4.2-r2.ebuild b/sci-libs/vtk/vtk-9.4.2-r2.ebuild deleted file mode 100644 index 95dea9832e305..0000000000000 --- a/sci-libs/vtk/vtk-9.4.2-r2.ebuild +++ /dev/null @@ -1,1051 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# TODO: -# - add USE flag for remote modules? Those modules can be downloaded -# properly before building. -# - replace usex by usev where applicable - -PYTHON_COMPAT=( python3_{11..13} ) -WEBAPP_OPTIONAL=yes -WEBAPP_MANUAL_SLOT=yes - -inherit check-reqs cmake cuda flag-o-matic java-pkg-opt-2 multiprocessing python-single-r1 toolchain-funcs virtualx webapp - -# Short package version -MY_PV="$(ver_cut 1-2)" - -DESCRIPTION="The Visualization Toolkit" -HOMEPAGE="https://www.vtk.org/" -SRC_URI=" - https://www.vtk.org/files/release/${MY_PV}/VTK-${PV}.tar.gz - doc? ( - https://www.vtk.org/files/release/${MY_PV}/vtkDocHtml-${PV}.tar.gz - ) - examples? ( - https://www.vtk.org/files/release/${MY_PV}/VTKLargeData-${PV}.tar.gz - https://www.vtk.org/files/release/${MY_PV}/VTKLargeDataFiles-${PV}.tar.gz - ) - test? ( - https://www.vtk.org/files/release/${MY_PV}/VTKData-${PV}.tar.gz - https://www.vtk.org/files/release/${MY_PV}/VTKDataFiles-${PV}.tar.gz - https://www.vtk.org/files/release/${MY_PV}/VTKLargeData-${PV}.tar.gz - https://www.vtk.org/files/release/${MY_PV}/VTKLargeDataFiles-${PV}.tar.gz - ) -" -S="${WORKDIR}/VTK-${PV}" - -LICENSE="BSD LGPL-2" -SLOT="0/${MY_PV}" -KEYWORDS="amd64 ~arm ~arm64 ~x86" - -# TODO: Like to simplify these. Mostly the flags related to Groups. -IUSE="all-modules boost +cgns cuda debug doc examples ffmpeg gdal gles2-only imaging - java +logging minimal mpi mysql +netcdf odbc opencascade openmp openvdb pdal postgres - python qt6 +rendering tbb test +threads tk +truetype video_cards_nvidia +views vtkm web" - -RESTRICT="!test? ( test )" - -REQUIRED_USE=" - all-modules? ( - boost cgns ffmpeg gdal imaging mysql netcdf odbc opencascade openvdb pdal - postgres rendering truetype views - ) - cuda? ( video_cards_nvidia vtkm ) - java? ( rendering ) - minimal? ( !gdal !rendering ) - !minimal? ( cgns netcdf rendering ) - python? ( ${PYTHON_REQUIRED_USE} ) - qt6? ( rendering ) - tk? ( python rendering ) - web? ( python ) - rendering? ( truetype views ) -" -# cgns? ( !mpi ) - -# eigen, nlohmann_json, pegtl and utfcpp are referenced in the cmake files -# and need to be available when VTK consumers configure the dependencies. -RDEPEND=" - app-arch/lz4:= - app-arch/xz-utils - dev-db/sqlite:3 - dev-libs/double-conversion:= - dev-libs/expat - dev-libs/icu:= - dev-libs/jsoncpp:= - >=dev-libs/libfmt-8.1.1:= - dev-libs/libxml2:2= - dev-libs/libzip:= - dev-libs/pugixml - media-libs/freetype - media-libs/libjpeg-turbo - media-libs/libogg - media-libs/libpng:= - media-libs/tiff:= - sci-libs/hdf5:=[mpi=] - virtual/zlib:= - boost? ( dev-libs/boost:=[mpi?] ) - cgns? ( - >=sci-libs/cgnslib-4.1.1:=[hdf5,mpi=] - sci-libs/hdf5[cxx] - mpi? ( - sci-libs/hdf5[mpi,unsupported] - ) - ) - cuda? ( dev-util/nvidia-cuda-toolkit:= ) - ffmpeg? ( =virtual/jdk-11:= ) - !minimal? ( - >=media-libs/libharu-2.4.0:= - media-libs/libtheora:= - sci-libs/proj:= - ) - mpi? ( virtual/mpi[romio] ) - mysql? ( dev-db/mariadb-connector-c ) - netcdf? ( sci-libs/netcdf:=[mpi=] ) - odbc? ( dev-db/unixODBC ) - openvdb? ( media-gfx/openvdb:= ) - opencascade? ( sci-libs/opencascade:= ) - pdal? ( sci-libs/pdal:= ) - postgres? ( dev-db/postgresql:= ) - python? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep 'mpi? ( dev-python/mpi4py[${PYTHON_USEDEP}] )') - $(python_gen_cond_dep 'rendering? ( dev-python/matplotlib[${PYTHON_USEDEP}] )') - ) - qt6? ( - dev-qt/qtbase:6[gui,opengl,sql,widgets] - dev-qt/qtdeclarative:6[opengl] - dev-qt/qtshadertools:6 - x11-libs/libxkbcommon - ) - rendering? ( - media-libs/glew:= - media-libs/libglvnd[X] - x11-libs/gl2ps - x11-libs/libICE - x11-libs/libXcursor - x11-libs/libXext - ) - tbb? ( dev-cpp/tbb:= ) - tk? ( dev-lang/tk:= ) - truetype? ( media-libs/fontconfig ) - video_cards_nvidia? ( x11-drivers/nvidia-drivers[tools,static-libs] ) - views? ( - x11-libs/libICE - x11-libs/libXext - ) - web? ( ${WEBAPP_DEPEND} ) -" - -DEPEND=" - ${RDEPEND} - dev-cpp/cli11 - dev-cpp/eigen:= - dev-cpp/nlohmann_json - >=dev-libs/pegtl-3 - dev-libs/utfcpp - test? ( - media-libs/glew - x11-libs/libXcursor - rendering? ( media-libs/freeglut ) - ) -" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}/${PN}-9.2.5-pegtl-3.x.patch" - "${FILESDIR}/${PN}-9.3.0-java.patch" - "${FILESDIR}/${PN}-9.3.0-opencascade.patch" - "${FILESDIR}/${PN}-9.3.0-update-for-cuda-12.6.patch" - - "${FILESDIR}/${PN}-9.4.2-pegtl-3.x.patch" - "${FILESDIR}/${PN}-9.4.2-fix-fmt-11.patch" - "${FILESDIR}/${PN}-9.4.2-opencascade-components.patch" - "${FILESDIR}/${PN}-9.4.2-vtk-m-jobpool-size.patch" - "${FILESDIR}/${PN}-9.4.2-ThirdParty-gcc15.patch" - "${FILESDIR}/${PN}-9.4.2-find-hdf5-in-global-scope.patch" - "${FILESDIR}/${PN}-9.4.2-ThirdParty-libfmt-12.patch" -) - -DOCS=( CONTRIBUTING.md README.md ) - -vtk_check_reqs() { - local dsk="$(( 4096 - + $(usex cuda 8192 0) - + $(usex doc 3072 0) - + $(usex examples 3072 0) - ))" - local -x CHECKREQS_DISK_BUILD=${dsk}M - - # In case users are not aware of the extra NINJAOPTS, check - # for the more common MAKEOPTS, in case NINJAOPTS is empty - local jobs=1 - if [[ -n "${NINJAOPTS}" ]]; then - jobs=$(makeopts_jobs "${NINJAOPTS}" "$(get_nproc)") - elif [[ -n "${MAKEOPTS}" ]]; then - jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - fi - - if use cuda; then - - local mem="$(( - $(usex cuda 7168 0) * $(( jobs > 4 ? 4 : jobs )) - ))" - local -x CHECKREQS_MEMORY=${mem}M - fi - - "check-reqs_pkg_${EBUILD_PHASE}" -} - -cuda_get_host_compiler() { - if [[ -n "${NVCC_CCBIN}" ]]; then - echo "${NVCC_CCBIN}" - return - fi - - if [[ -n "${CUDAHOSTCXX}" ]]; then - echo "${CUDAHOSTCXX}" - return - fi - - einfo "Trying to find working CUDA host compiler" - - if ! tc-is-gcc && ! tc-is-clang; then - die "$(tc-get-compiler-type) compiler is not supported" - fi - - local compiler compiler_type compiler_version - local package package_version - local NVCC_CCBIN_default - - compiler_type="$(tc-get-compiler-type)" - compiler_version="$("${compiler_type}-major-version")" - - # try the default compiler first - NVCC_CCBIN="$(tc-getCXX)" - NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}" - - compiler="${NVCC_CCBIN/%-${compiler_version}}" - - # store the package so we can re-use it later - package="sys-devel/${compiler_type}" - package_version="${package}" - - ebegin "testing ${NVCC_CCBIN_default} (default)" - - while ! nvcc -v -ccbin "${NVCC_CCBIN}" - -x cu <<<"int main(){}" &>> "${T}/cuda_get_host_compiler.log" ; do - eend 1 - - while true; do - # prepare next version - if ! package_version="<$(best_version "${package_version}")"; then - die "could not find a supported version of ${compiler}" - fi - - NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")" - - [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break - done - ebegin "testing ${NVCC_CCBIN}" - done - eend $? - - # clean temp file - rm -f a.out - - echo "${NVCC_CCBIN}" - export NVCC_CCBIN -} - -cuda_get_host_native_arch() { - [[ -n ${CUDAARCHS} ]] && echo "${CUDAARCHS}" - - __nvcc_device_query || die "failed to query the native device" -} - -vtk_add_sandbox() { - local WRITE=() - - # mesa via virtx will make use of udmabuf if it exists - [[ -c "/dev/udmabuf" ]] && WRITE+=( "/dev/udmabuf" ) - - readarray -t dris <<<"$( - find /sys/class/drm/*/device/drm \ - -mindepth 1 -maxdepth 1 -type d -exec basename {} \; \ - | sort | uniq | sed 's:^:/dev/dri/:' - )" - - [[ -n "${dris[*]}" ]] && WRITE+=( "${dris[@]}" ) - - if [[ -d /sys/module/nvidia ]]; then - # /dev/nvidia{0-9} - readarray -t nvidia_devs <<<"$( - find /dev -regextype posix-extended -regex '/dev/nvidia(|-(nvswitch|vgpu))[0-9]*' - )" - - [[ -n "${nvidia_devs[*]}" ]] && WRITE+=( "${nvidia_devs[@]}" ) - - WRITE+=( - "/dev/nvidiactl" - "/dev/nvidia-modeset" - - "/dev/nvidia-vgpuctl" - - "/dev/nvidia-nvlink" - "/dev/nvidia-nvswitchctl" - - "/dev/nvidia-uvm" - "/dev/nvidia-uvm-tools" - - # "/dev/nvidia-caps/nvidia-cap%d" - "/dev/nvidia-caps/" - # "/dev/nvidia-caps-imex-channels/channel%d" - "/dev/nvidia-caps-imex-channels/" - ) - fi - - # for portage - WRITE+=( "/proc/self/task/" ) - - local dev - for dev in "${WRITE[@]}"; do - if [[ ! -e "${dev}" ]]; then - eqawarn "${dev} does not exist" - # continue - fi - - if [[ -w "${dev}" ]]; then - eqawarn "${dev} is already writable" - # continue - fi - - eqawarn "addwrite ${dev}" - addwrite "${dev}" - - if [[ ! -d "${dev}" ]] && [[ ! -w "${dev}" ]]; then - eerror "can not access ${dev} after addwrite" - fi - done -} - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && has openmp && tc-check-openmp - - vtk_check_reqs - - # When building binpkgs you probably want to include all targets - if use cuda && [[ ${MERGE_TYPE} == "buildonly" ]] && [[ -n "${CUDA_GENERATION}" || -n "${CUDA_ARCH_BIN}" ]]; then - local info_message="When building a binary package it's recommended to unset CUDA_GENERATION and CUDA_ARCH_BIN" - einfo "$info_message so all available architectures are build." - fi -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && has openmp && tc-check-openmp - - vtk_check_reqs - - if use cuda && [[ ! -e /dev/nvidia-uvm ]]; then - # NOTE We try to load nvidia-uvm and nvidia-modeset here, - # so __nvcc_device_query does not fail later. - - nvidia-smi -L || true - fi - - use java && java-pkg-opt-2_pkg_setup - use python && python-single-r1_pkg_setup - use web && webapp_pkg_setup -} - -# Note: The following libraries are marked as internal by kitware -# and can currently not unbundled: -# diy2, exodusII, fides, h5part, kissfft, loguru, verdict, vpic, -# vtkm, xdmf{2,3}, zfp -# TODO: exprtk, ioss -# Note: As of v9.2.2 we no longer drop bundled libraries, when using system -# libraries. This just saves a little space. CMake logic of VTK on ThirdParty -# libraries avoids automagic builds, so deletion is not needed to catch these. -src_prepare() { - if use doc; then - einfo "Removing .md5 files from documents." - rm -f "${WORKDIR}"/html/*.md5 || die "Failed to remove superfluous hashes" - sed -e "s|\${VTK_BINARY_DIR}/Utilities/Doxygen/doc|${WORKDIR}|" \ - -i Utilities/Doxygen/CMakeLists.txt || die - fi - - cmake_src_prepare - - if use test; then - ebegin "Copying data files to ${BUILD_DIR}" - mkdir -p "${BUILD_DIR}/ExternalData" || die - pushd "${BUILD_DIR}/ExternalData" >/dev/null || die - ln -sf "../../${S}/.ExternalData/README.rst" . || die - ln -sf "../../${S}/.ExternalData/SHA512" . || die - popd >/dev/null || die - eend "$?" - fi -} - -# TODO: check these and consider to use them -# VTK_BUILD_SCALED_SOA_ARRAYS -# VTK_DISPATCH_{AOS,SOA,TYPED}_ARRAYS -src_configure() { - # Workaround for sci-libs/netcdf-4.9.3. See bug #959139. - # Should be dropped with vtk-9.5.0. - append-cppflags -DNETCDF_ENABLE_LEGACY_MACROS - - local mycmakeargs=( - -DCMAKE_DISABLE_FIND_PACKAGE_Git="yes" - -DVTK_GIT_DESCRIBE="v${PV}" - -DVTK_VERSION_FULL="${PV}" - -DGIT_EXECUTABLE="${T}/notgit" - - -DCMAKE_POLICY_DEFAULT_CMP0167="OLD" - -DCMAKE_POLICY_DEFAULT_CMP0174="OLD" - -DCMAKE_POLICY_DEFAULT_CMP0177="OLD" - - -DCMAKE_INSTALL_LICENSEDIR="share/${PN}/licenses" - -DVTK_IGNORE_CMAKE_CXX11_CHECKS=yes - - -DVTK_ANDROID_BUILD=OFF - -DVTK_IOS_BUILD=OFF - - -DVTK_BUILD_ALL_MODULES="$(usex all-modules)" - # we use the pre-built documentation and install these with USE=doc - -DVTK_BUILD_DOCUMENTATION=OFF - -DVTK_BUILD_EXAMPLES="$(usex examples)" - - # no package in the tree: https://github.com/LLNL/conduit - -DVTK_ENABLE_CATALYST=OFF - -DVTK_ENABLE_KITS=OFF - -DVTK_ENABLE_LOGGING="$(usex logging)" - # defaults to ON: USE flag for this? - -DVTK_ENABLE_REMOTE_MODULES=OFF - - # disable fetching files during build - -DVTK_FORBID_DOWNLOADS="yes" - - -DVTK_GROUP_ENABLE_Imaging="$(usex imaging "YES" "NO")" - -DVTK_GROUP_ENABLE_MPI="$(usex mpi "YES" "NO")" - -DVTK_GROUP_ENABLE_Qt="$(usex qt6 "YES" "NO")" - -DVTK_GROUP_ENABLE_Rendering="$(usex rendering "YES" "NO")" - -DVTK_GROUP_ENABLE_StandAlone="$(usex minimal "NO" "YES")" - -DVTK_GROUP_ENABLE_Views="$(usex views "YES" "NO")" - -DVTK_GROUP_ENABLE_Web="$(usex web "YES" "NO")" - - -DVTK_INSTALL_SDK=ON - - -DVTK_MODULE_ENABLE_VTK_IOCGNSReader="$(usex cgns "YES" "NO")" - -DVTK_MODULE_ENABLE_VTK_IOExportPDF="$(usex minimal "NO" "YES")" - -DVTK_MODULE_ENABLE_VTK_IOLAS="NO" - -DVTK_MODULE_ENABLE_VTK_IONetCDF="$(usex netcdf "YES" "NO")" - -DVTK_MODULE_ENABLE_VTK_IOOCCT="$(usex opencascade "YES" "NO")" - -DVTK_MODULE_ENABLE_VTK_IOOggTheora="$(usex minimal "NO" "YES")" - -DVTK_MODULE_ENABLE_VTK_IOOpenVDB="$(usex openvdb "YES" "NO")" - -DVTK_MODULE_ENABLE_VTK_IOSQL="YES" # sqlite - -DVTK_MODULE_ENABLE_VTK_IOPDAL="$(usex pdal "YES" "NO")" - -DVTK_MODULE_ENABLE_VTK_IOXML="YES" - -DVTK_MODULE_ENABLE_VTK_IOXMLParser="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingFreeType="$(usex truetype "YES" "NO")" - -DVTK_MODULE_ENABLE_VTK_RenderingFreeTypeFontConfig="$(usex truetype "YES" "NO")" - -DVTK_MODULE_ENABLE_VTK_cgns="$(usex cgns "YES" "NO")" - -DVTK_MODULE_ENABLE_VTK_doubleconversion="YES" - -DVTK_MODULE_ENABLE_VTK_eigen="YES" - -DVTK_MODULE_ENABLE_VTK_expat="YES" - -DVTK_MODULE_ENABLE_VTK_fmt="YES" - -DVTK_MODULE_ENABLE_VTK_freetype="$(usex truetype "YES" "NO")" - -DVTK_MODULE_ENABLE_VTK_hdf5="YES" - -DVTK_MODULE_ENABLE_VTK_jpeg="YES" - -DVTK_MODULE_ENABLE_VTK_jsoncpp="YES" - -DVTK_MODULE_ENABLE_VTK_libharu="$(usex minimal "NO" "YES")" - -DVTK_MODULE_ENABLE_VTK_libproj="$(usex minimal "NO" "YES")" - -DVTK_MODULE_ENABLE_VTK_libxml2="YES" - -DVTK_MODULE_ENABLE_VTK_lz4="YES" - -DVTK_MODULE_ENABLE_VTK_lzma="YES" - -DVTK_MODULE_ENABLE_VTK_netcdf="$(usex netcdf "YES" "NO")" - -DVTK_MODULE_ENABLE_VTK_nlohmannjson="YES" - -DVTK_MODULE_ENABLE_VTK_ogg="YES" - -DVTK_MODULE_ENABLE_VTK_pegtl="YES" - -DVTK_MODULE_ENABLE_VTK_png="YES" - -DVTK_MODULE_ENABLE_VTK_pugixml="YES" - -DVTK_MODULE_ENABLE_VTK_sqlite="YES" - -DVTK_MODULE_ENABLE_VTK_theora="$(usex minimal "NO" "YES")" - -DVTK_MODULE_ENABLE_VTK_tiff="YES" - -DVTK_MODULE_ENABLE_VTK_utf8="YES" - -DVTK_MODULE_ENABLE_VTK_vtkvtkm="$(usex vtkm "YES" "NO")" - -DVTK_MODULE_ENABLE_VTK_zlib="YES" - - # not packaged in Gentoo - -DVTK_MODULE_USE_EXTERNAL_VTK_fast_float=OFF - -DVTK_MODULE_USE_EXTERNAL_VTK_exprtk=OFF - -DVTK_MODULE_USE_EXTERNAL_VTK_ioss=OFF - -DVTK_MODULE_USE_EXTERNAL_VTK_token=OFF - -DVTK_MODULE_USE_EXTERNAL_VTK_verdict=OFF - - -DVTK_RELOCATABLE_INSTALL=ON - -DVTK_UNIFIED_INSTALL_TREE=ON - - -DVTK_SMP_ENABLE_OPENMP="$(usex openmp)" - -DVTK_SMP_ENABLE_STDTHREAD="$(usex threads)" - -DVTK_SMP_ENABLE_TBB="$(usex tbb)" - - -DVTK_USE_CUDA="$(usex cuda)" - # use system libraries where possible - -DVTK_USE_EXTERNAL=ON - # avoid finding package from either ::guru or ::sci - -DVTK_USE_MEMKIND=OFF - -DVTK_USE_MPI="$(usex mpi)" - -DVTK_USE_TK="$(usex tk)" - -DVTK_USE_X=ON - - -DVTK_WHEEL_BUILD=OFF - - -DVTK_WRAP_JAVA="$(usex java)" - -DVTK_WRAP_PYTHON="$(usex python)" - ) - - if use all-modules; then - mycmakeargs+=( - # no package in ::gentoo - -DVTK_ENABLE_OSPRAY=OFF - # TODO: some of these are tied to the VTK_ENABLE_REMOTE_MODULES - # option. Check whether we can download them clean and enable - # them. - -DVTK_MODULE_ENABLE_VTK_DomainsMicroscopy="NO" - -DVTK_MODULE_ENABLE_VTK_fides="NO" - -DVTK_MODULE_ENABLE_VTK_FiltersOpenTURNS="NO" - -DVTK_MODULE_ENABLE_VTK_IOADIOS2="NO" - -DVTK_MODULE_ENABLE_VTK_IOFides="NO" - - -DVTK_MODULE_ENABLE_VTK_RenderingOpenVR="NO" - -DVTK_MODULE_ENABLE_VTK_RenderingOpenXR="NO" - - -DVTK_MODULE_USE_EXTERNAL_VTK_cli11="YES" - ) - fi - - if use boost; then - mycmakeargs+=( - -DVTK_MODULE_ENABLE_VTK_InfovisBoost="YES" - -DVTK_MODULE_ENABLE_VTK_InfovisBoostGraphAlgorithms="YES" - ) - fi - - if use cgns; then - mycmakeargs+=( - -DHDF5_NEED_MPI="$(usex mpi)" - ) - fi - - if use cuda; then - cuda_add_sandbox -w - addwrite "/proc/self/task" - addpredict "/dev/char/" - - if ! test -w /dev/nvidiactl; then - # eqawarn "Can't access the GPU at /dev/nvidiactl." - # eqawarn "User $(id -nu) is not in the group \"video\"." - if [[ -z "${CUDA_GENERATION}" ]] && [[ -z "${CUDA_ARCH_BIN}" ]]; then - # build all targets - mycmakeargs+=( - -DCUDA_GENERATION="" - ) - fi - else - local -x CUDAARCHS - : "${CUDAARCHS:="$(cuda_get_host_native_arch)"}" - fi - - # set NVCC_CCBIN - local -x CUDAHOSTCXX CUDAHOSTLD - CUDAHOSTCXX="$(cuda_get_host_compiler)" - CUDAHOSTLD="$(tc-getCXX)" - export NVCC_CCBIN="${CUDAHOSTCXX}" - - if tc-is-gcc; then - # Filter out IMPLICIT_LINK_DIRECTORIES picked up by CMAKE_DETERMINE_COMPILER_ABI(CUDA) - # See /usr/share/cmake/Help/variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES.rst - CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES_EXCLUDE=$( - "${CUDAHOSTLD}" -E -v - <<<"int main(){}" |& \ - grep LIBRARY_PATH | cut -d '=' -f 2 | cut -d ':' -f 1 - ) - fi - fi - - if use debug; then - mycmakeargs+=( - -DVTK_DEBUG_LEAKS=ON - -DVTK_DEBUG_MODULE=ON - -DVTK_DEBUG_MODULE_ALL=ON - -DVTK_ENABLE_SANITIZER=ON - -DVTK_EXTRA_COMPILER_WARNINGS=ON - -DVTK_WARN_ON_DISPATCH_FAILURE=ON - ) - if use rendering; then - mycmakeargs+=( -DVTK_OPENGL_ENABLE_STREAM_ANNOTATIONS=ON ) - fi - fi - - if use examples || use test; then - mycmakeargs+=( -DVTK_USE_LARGE_DATA=ON ) - fi - - if use ffmpeg; then - mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOFFMPEG="YES" ) - if use rendering; then - mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingFFMPEGOpenGL2="YES" ) - fi - fi - - if use gdal; then - mycmakeargs+=( - -DVTK_MODULE_ENABLE_VTK_GeovisGDAL="YES" - -DVTK_MODULE_ENABLE_VTK_IOGDAL="YES" - -DVTK_MODULE_ENABLE_VTK_IOGeoJSON="YES" - ) - fi - - if use imaging; then - mycmakeargs+=( - -DVTK_MODULE_ENABLE_VTK_ImagingColor="YES" - -DVTK_MODULE_ENABLE_VTK_ImagingCore="YES" - -DVTK_MODULE_ENABLE_VTK_ImagingFourier="YES" - -DVTK_MODULE_ENABLE_VTK_ImagingGeneral="YES" - -DVTK_MODULE_ENABLE_VTK_ImagingHybrid="YES" - -DVTK_MODULE_ENABLE_VTK_ImagingMath="YES" - -DVTK_MODULE_ENABLE_VTK_ImagingMorphological="YES" - -DVTK_MODULE_ENABLE_VTK_ImagingOpenGL2="YES" - -DVTK_MODULE_ENABLE_VTK_ImagingSources="YES" - -DVTK_MODULE_ENABLE_VTK_ImagingStatistics="YES" - -DVTK_MODULE_ENABLE_VTK_ImagingStencil="YES" - ) - use rendering && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingImage="YES" ) - fi - - if ! use java && ! use python; then - # defaults to ON - mycmakeargs+=( -DVTK_ENABLE_WRAPPING=OFF ) - fi - - if use java; then - mycmakeargs+=( - -DCMAKE_INSTALL_JARDIR="share/${PN}" - -DVTK_ENABLE_WRAPPING=ON - -DVTK_MODULE_ENABLE_VTK_Java="YES" - -DVTK_JAVA_SOURCE_VERSION="$(java-config -g PROVIDES_VERSION)" - -DVTK_JAVA_TARGET_VERSION="$(java-config -g PROVIDES_VERSION)" - ) - fi - - if use minimal; then - mycmakeargs+=( - -DVTK_MODULE_ENABLE_VTK_CommonComputationalGeometry="YES" - -DVTK_MODULE_ENABLE_VTK_CommonExecutionModel="YES" - -DVTK_MODULE_ENABLE_VTK_CommonMath="YES" - -DVTK_MODULE_ENABLE_VTK_CommonMisc="YES" - -DVTK_MODULE_ENABLE_VTK_CommonSystem="YES" - -DVTK_MODULE_ENABLE_VTK_CommonTransforms="YES" - - -DVTK_MODULE_ENABLE_VTK_FiltersCellGrid="YES" - -DVTK_MODULE_ENABLE_VTK_FiltersCore="YES" - -DVTK_MODULE_ENABLE_VTK_FiltersExtraction="YES" - -DVTK_MODULE_ENABLE_VTK_FiltersGeneral="YES" - -DVTK_MODULE_ENABLE_VTK_FiltersGeneric="YES" - -DVTK_MODULE_ENABLE_VTK_FiltersGeometry="YES" - -DVTK_MODULE_ENABLE_VTK_FiltersHybrid="NO" - -DVTK_MODULE_ENABLE_VTK_FiltersHyperTree="YES" - -DVTK_MODULE_ENABLE_VTK_FiltersReduction="YES" - -DVTK_MODULE_ENABLE_VTK_FiltersSources="YES" - -DVTK_MODULE_ENABLE_VTK_FiltersStatistics="YES" - -DVTK_MODULE_ENABLE_VTK_FiltersVerdict="YES" - - -DVTK_MODULE_ENABLE_VTK_IOCellGrid="YES" - -DVTK_MODULE_ENABLE_VTK_IOCore="YES" - -DVTK_MODULE_ENABLE_VTK_IOGeometry="NO" - -DVTK_MODULE_ENABLE_VTK_IOLegacy="YES" - - -DVTK_MODULE_ENABLE_VTK_ParallelCore="YES" - -DVTK_MODULE_ENABLE_VTK_ParallelDIY="YES" - ) - fi - - if use mpi; then - mycmakeargs+=( - -DVTK_MODULE_ENABLE_VTK_IOH5part="YES" - -DVTK_MODULE_ENABLE_VTK_IOMPIParallel="YES" - -DVTK_MODULE_ENABLE_VTK_IOParallel="YES" - -DVTK_MODULE_ENABLE_VTK_IOParallelNetCDF="$(usex netcdf "YES" "NO")" - -DVTK_MODULE_ENABLE_VTK_IOParallelXML="YES" - -DVTK_MODULE_ENABLE_VTK_ParallelMPI="YES" - -DVTK_MODULE_ENABLE_VTK_h5part="YES" - -DVTK_MODULE_USE_EXTERNAL_VTK_verdict=OFF - ) - use imaging && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOMPIImage="YES" ) - use python && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ParallelMPI4Py="YES" ) - if use rendering; then - mycmakeargs+=( - -DVTK_MODULE_ENABLE_VTK_RenderingParallel="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingParallelLIC="YES" - ) - fi - use vtkm && mycmakeargs+=( -DVTKm_ENABLE_MPI=ON ) - fi - - use mysql && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOMySQL="YES" ) - use odbc && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOODBC="YES" ) - use openvdb && mycmakeargs+=( -DOpenVDB_CMAKE_PATH="${ESYSROOT}/usr/$(get_libdir)/cmake/OpenVDB" ) - use postgres && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOPostgreSQL="YES" ) - - if use python; then - mycmakeargs+=( - -DPython3_EXECUTABLE="${PYTHON}" - -DVTK_ENABLE_WRAPPING=ON - -DVTK_MODULE_ENABLE_VTK_Python="YES" - -DVTK_MODULE_ENABLE_VTK_PythonInterpreter="YES" - -DVTK_MODULE_ENABLE_VTK_WrappingPythonCore="YES" - -DVTK_PYTHON_OPTIONAL_LINK="OFF" - -DVTK_PYTHON_SITE_PACKAGES_SUFFIX="lib/${EPYTHON}/site-packages" - ) - use rendering && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_PythonContext2D="YES" ) - fi - - if use qt6; then - mycmakeargs+=( - -DCMAKE_INSTALL_QMLDIR="${EPFREIX}/usr/$(get_libdir)/qt6/qml" - -DVTK_QT_VERSION="6" - -DVTK_MODULE_ENABLE_VTK_GUISupportQt="YES" - -DVTK_MODULE_ENABLE_VTK_GUISupportQtQuick="YES" - ) - - if has_version "dev-qt/qtbase:6[gles2-only]" || use gles2-only; then - mycmakeargs+=( - # Force using EGL & GLES - -DVTK_OPENGL_HAS_EGL=ON - -DVTK_OPENGL_USE_GLES=ON - ) - fi - if use mysql || use postgres; then - mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_GUISupportQtSQL="YES" ) - fi - if use rendering; then - mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingQt="YES" ) - fi - if use views; then - mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ViewsQt="YES" ) - fi - fi - - if use rendering; then - mycmakeargs+=( - -DVTK_ENABLE_OSPRAY=OFF - - -DVTK_MODULE_ENABLE_VTK_IOExportGL2PS="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingAnari="NO" # no package in ::gentoo - -DVTK_MODULE_ENABLE_VTK_RenderingAnnotation="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingContext2D="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingContextOpenGL2="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingCore="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingExternal="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingGL2PSOpenGL2="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingHyperTreeGrid="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingLICOpenGL2="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingLOD="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingLabel="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingOpenGL2="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingRayTracing="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingSceneGraph="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingUI="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingVolume="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingVolumeAMR="YES" - -DVTK_MODULE_ENABLE_VTK_RenderingVolumeOpenGL2="YES" - -DVTK_MODULE_ENABLE_VTK_gl2ps="YES" - ) - use python && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingMatplotlib="YES" ) - use tk && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingTk="YES" ) - use views && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ViewsContext2D="YES" ) - use web && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingVtkJS="YES" ) - fi - - # Testing has been changed in 9.2.5: it is now allowed without - # requiring to download, if the data files are available locally! - if use test; then - mycmakeargs+=( - -DVTK_BUILD_TESTING=ON - # disable fetching data files for the default 'all' target - -DVTK_DATA_EXCLUDE_FROM_ALL=OFF - - # requested even if all use flags are off - -DVTK_MODULE_ENABLE_VTK_octree="YES" - -DVTK_MODULE_ENABLE_VTK_ViewsCore="YES" - - -DVTK_MODULE_USE_EXTERNAL_VTK_cli11="YES" - ) - else - mycmakeargs+=( -DVTK_BUILD_TESTING=OFF ) - fi - - # FIXME: upstream provides 4 threading models, as of 9.1.0. These are - # sequential, stdthread, openmp and tbb. AFAICS all of them can be - # enabled at the same time. Sequential and STDThread are enabled by - # default. The default selected type for the build is sequential. - # Assuming sequential < STDThread < openmp < tbb wrt speed, although - # this is dependent on the actual scenario where threading is used. - if use tbb; then - mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="TBB" ) - elif use openmp; then # FIXME doesn't work with clang - mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="OpenMP" ) - elif use threads; then - mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="STDThread" ) - else - mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="Sequential" ) - fi - - use tk && mycmakeargs+=( -DVTK_GROUP_ENABLE_Tk="YES" ) - - if use views; then - mycmakeargs+=( - -DVTK_MODULE_ENABLE_VTK_ViewsCore="YES" - -DVTK_MODULE_ENABLE_VTK_ViewsInfovis="YES" - ) - fi - - if use vtkm; then - mycmakeargs+=( - -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmCore="YES" - -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmDataModel="YES" - -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmFilters="YES" - -DVTKm_ENABLE_CPACK="no" # "Enable CPack packaging of VTKm" ON - -DVTKm_ENABLE_CUDA="$(usex cuda)" # "Enable Cuda support" OFF - -DVTKm_ENABLE_DOCUMENTATION="$(usex doc)" # "Build Doxygen documentation" OFF - -DVTKm_ENABLE_EXAMPLES="$(usex examples)" # "Build examples" OFF - -DVTKm_ENABLE_HDF5_IO="yes" # "Enable HDF5 support" OFF - -DVTKm_HDF5_IS_PARALLEL="$(usex mpi)" - -DVTKm_ENABLE_LOGGING="$(usex logging)" # "Enable VTKm Logging" ON - -DVTKm_ENABLE_MPI="$(usex mpi)" # "Enable MPI support" OFF - -DVTKm_ENABLE_OPENMP="$(usex openmp)" # "Enable OpenMP support" OFF - -DVTKm_ENABLE_RENDERING="$(usex rendering)" # "Enable rendering library" ON - -DVTKm_ENABLE_TBB="$(usex tbb)" # "Enable TBB support" OFF - -DVTKm_ENABLE_TESTING="$(usex test)" # "Enable VTKm Testing" ON - -DVTKm_ENABLE_TUTORIALS="no" # "Build tutorials" OFF - -DVTKm_NO_ASSERT_CUDA="yes" # "Disable assertions for CUDA devices." ON - -DVTKm_NO_ASSERT="no" # "Disable assertions in debugging builds." OFF - -DVTKm_NO_INSTALL_README_LICENSE="ON" # bug #793221 # "disable the installation of README and LICENSE files" OFF - -DVTKm_SKIP_LIBRARY_VERSIONS="no" # "Skip versioning VTK-m libraries" OFF - -DVTKm_Vectorization="none" # only sets compiler flags - ) - fi - - if use web; then - mycmakeargs+=( - -DVTK_MODULE_ENABLE_VTK_WebCore="YES" - -DVTK_MODULE_ENABLE_VTK_WebGLExporter="YES" - ) - use python && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_WebPython="YES" ) - fi - - cmake_src_configure -} - -src_compile() { - use test && cmake_build VTKData - cmake_src_compile -} - -src_test() { - vtk_add_sandbox - - addwrite /dev/fuse - - # The build system prepends /usr/$(get_libdir) to the RUNPATH instead of appending. - # Set LD_LIBRARY_PATH to use the just build libraries. - local -x LD_LIBRARY_PATH="${BUILD_DIR}/$(get_libdir)${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" - - # export VTK_SMP_BACKEND_IN_USE="STDThread" - - local -x -a CMAKE_SKIP_TESTS - - if [[ "${CMAKE_RUN_OPTIONAL_TESTS:=no}" != "yes" ]]; then - local -a REALLY_BAD_TESTS BAD_TESTS RANDOM_FAIL_TESTS - # don't work at all - REALLY_BAD_TESTS=( - # File missing? ExternalData/Testing/Data/MotionFX/position_file/Sprocket_New.prn - "VTK::IOMotionFXCxx-TestMotionFXCFGReaderPositionFile$" # (Subprocess aborted) - - "VTK::InteractionWidgetsCxx-TestBrokenLineWidget$" - "VTK::InteractionWidgetsCxx-TestPolyPlane$" - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMClipWithImplicitFunction$" # (NUMERICAL) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMHistogram$" # (Failed) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMMarchingCubes$" # (Failed) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMMarchingCubes2$" # (Failed) - "VTK::ChartsCoreCxx-TestChartDoubleColors$" # (Failed) - "VTK::ChartsCoreCxx-TestChartDoubleColorsOpaque$" # (Failed) - "VTK::ChartsCoreCxx-TestParallelCoordinatesDouble$" # (Failed) - "VTK::CommonDataModelCxx-TestHyperTreeGridGeometricLocator$" # (Failed) - "VTK::CommonDataModelCxx-TestTriangle$" # (Failed) - "VTK::CommonDataModelCxx-UnitTestCells$" # (Failed) - "VTK::FiltersCoreCxx-TestDecimatePolylineFilter$" # (Failed) - "VTK::FiltersCoreCxx-TestImplicitPolyDataDistanceCube$" # (Failed) - "VTK::FiltersCorePython-TestSphereTreeFilter$" # (Failed) - "VTK::FiltersFlowPathsCxx-TestEvenlySpacedStreamlines2D$" # (Failed) - "VTK::FiltersGeneralCxx-TestContourTriangulatorHoles$" # (Failed) - "VTK::FiltersParallelCxx-TestAngularPeriodicFilter$" # (Failed) - "VTK::FiltersParallelDIY2Cxx-TestRedistributeDataSetFilter" - "VTK::FiltersParallelDIY2Cxx-MPI-TestProbeLineFilter$" # (Failed) - "VTK::FiltersSelectionCxx-TestLinearSelector3D$" # (Failed) - "VTK::GUISupportQtQuickCxx-TestQQuickVTKRenderItem$" # (Failed) - "VTK::GUISupportQtQuickCxx-TestQQuickVTKRenderItemWidget$" # (Failed) - "VTK::GUISupportQtQuickCxx-TestQQuickVTKRenderWindow$" # (Failed) - "VTK::RenderingExternalCxx-TestGLUTRenderWindow$" # (Failed) - "VTK::RenderingFreeTypeFontConfigCxx-TestSystemFontRendering$" # (Failed) - "VTK::IOExportGL2PSCxx-TestGL2PSExporterVolumeRaster" # (Failed) - # "VTK::IOExportGL2PSCxx-TestGL2PSExporterVolumeRaster-RasterizePNG$" # (Not Run) - # "VTK::IOExportGL2PSCxx-TestGL2PSExporterVolumeRaster-VerifyRasterizedPDFPNG$" # (Failed) - # "VTK::IOExportGL2PSCxx-TestGL2PSExporterVolumeRaster-VerifyRasterizedPNG$" # (Failed) - "VTK::IOExportPDFCxx-TestPDFTransformedText-VerifyRasterizedPDFPNG$" # (Failed) - "VTK::IOOCCTCxx-TestOCCTReader$" # (Failed) - "VTK::RenderingCorePython-pickImageData$" # (Failed) - "VTK::RenderingRayTracing-HeaderTest$" # (Failed) - ) - - # don't work in src_test but when on their own - BAD_TESTS=( - "VTK::AcceleratorsVTKmCoreCxx-TestVTKMImplicitDataArray$" # (NUMERICAL) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMCleanGrid$" # (NUMERICAL) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMClip$" # (NUMERICAL) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMExternalFaces$" # (Failed) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMExtractVOI$" # (NUMERICAL) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMLevelOfDetail$" # (NUMERICAL) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMPointElevation$" # (NUMERICAL) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMPointTransform$" # (NUMERICAL) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMPolyDataNormals$" # (NUMERICAL) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMThreshold$" # (NUMERICAL) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMThreshold2$" # (NUMERICAL) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMTriangleMeshPointNormals$" # (NUMERICAL) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMWarpScalar$" # (NUMERICAL) - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMWarpVector$" # (NUMERICAL) - "VTK::ImagingOpenGL2Cxx-TestOpenGLImageGradient$" # (NUMERICAL) - "VTK::InteractionWidgetsCxx-TestResliceCursorWidget2$" # (Failed) - "VTK::InteractionWidgetsCxx-TestResliceCursorWidget3$" # (Failed) - "VTK::InteractionWidgetsPython-TestTensorWidget2$" # (Failed) - "VTK::RenderingCoreCxx-TestTextureRGBADepthPeeling$" # (Failed) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedBlended$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedBlendedSmallGrain$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedColorBlendedSmallGrain$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedColorBlendedSmallGrainMask$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedColorMappedSmallGrain$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedColorMappedSmallGrainMask$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedMapped$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedMappedSmallGrain$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedMappedSmallVectorNormalizeOff$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedSmallGrainMask$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedDefaults$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedDefaultsColor$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedEnhancedVectorNormalizeOff$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICMultiBlockContrastEnhancedPerlin$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICPlanarContrastEnhanced$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICPlanarDefaults$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICPlanarVectorNormalizeOff$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICPlanarVectorNormalizeOffMediumGrainPerlin$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-SurfaceLICPlanarVectorNormalizeOffMediumGrainUniform$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-TestImageDataLIC2D$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-TestStructuredGridLIC2DXSlice$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-TestStructuredGridLIC2DYSlice$" # (NUMERICAL) - "VTK::RenderingLICOpenGL2Cxx-TestStructuredGridLIC2DZSlice$" # (NUMERICAL) - "VTK::RenderingMatplotlibCxx-TestContextMathTextImage$" # (NUMERICAL) - "VTK::RenderingMatplotlibCxx-TestIndexedLookupScalarBar$" # (NUMERICAL) - "VTK::RenderingMatplotlibCxx-TestMathTextActor$" # (NUMERICAL) - "VTK::RenderingMatplotlibCxx-TestMathTextActor3D$" # (NUMERICAL) - "VTK::RenderingMatplotlibCxx-TestRenderString$" # (NUMERICAL) - "VTK::RenderingMatplotlibCxx-TestScalarBarCombinatorics$" # (NUMERICAL) - "VTK::RenderingMatplotlibCxx-TestStringToPath$" # (NUMERICAL) - "VTK::RenderingOpenGL2Cxx-TestGlyph3DMapperPickability$" # (Failed) - ) - - RANDOM_FAIL_TESTS=( - "VTK::FiltersFlowPathsCxx-TestStreamSurface$" - "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMAbort$" - "VTK::AcceleratorsVTKmFiltersPython-TestVTKMSlice$" - "VTK::IOImageCxx-TestTIFFReaderMultipleMulti$" - - "VTK::FiltersFlowPathsCxx-TestParticleTracers$" - "VTK::RenderingOpenGL2Cxx-TestFluidMapper$" - "VTK::FiltersCellGridCxx-TestCellGridEvaluator$" - "VTK::IOImageCxx-TestTIFFReaderMulti$" - "VTK::FiltersGeneralCxx-TestWarpScalarGenerateEnclosure$" - "VTK::FiltersGeneralCxx-expCos$" - "VTK::FiltersGeneralCxx-TestQuadraturePoints$" - ) - - CMAKE_SKIP_TESTS+=( - "${REALLY_BAD_TESTS[@]}" - "${BAD_TESTS[@]}" - "${RANDOM_FAIL_TESTS[@]}" - ) - fi - - CMAKE_SKIP_TESTS+=( - # requires VTK_USE_MICROSOFT_MEDIA_FOUNDATION - "^VTK::IOMovieCxx-Test" # Skipped - ) - - if use openmp; then - # TODO Times out under openmp - # local -x VTK_SMP_BACKEND_IN_USE="STDThread" - # local -x VTK_SMP_BACKEND_IN_USE="Sequential" - # local -x VTK_SMP_BACKEND_IN_USE="OpenMP" - # local -x VTK_SMP_BACKEND_IN_USE="TBB" - - CMAKE_SKIP_TESTS+=( - "^VTK::CommonCoreCxx-TestSMP$" - ) - fi - - virtx cmake_src_test -j1 -} - -src_install() { - use web && webapp_src_preinst - - # Stop web page images from being compressed - if use doc; then - HTML_DOCS=( "${WORKDIR}/html/." ) - fi - - cmake_src_install - - use java && java-pkg_regjar "${ED}/usr/share/${PN}/${PN}.jar" - - # install examples - if use examples; then - einfo "Installing examples" - mv -v {E,e}xamples || die - dodoc -r examples - docompress -x "/usr/share/doc/${PF}/examples" - - einfo "Installing datafiles" - insinto "/usr/share/${PN}/data" - doins -r "${S}/.ExternalData" - fi - - use python && python_optimize - - use web && webapp_src_install -} - -# webapp.eclass exports these but we want it optional #534036 -pkg_postinst() { - use web && webapp_pkg_postinst - - if use examples; then - einfo "You can get more and updated examples at" - einfo "https://kitware.github.io/vtk-examples/site/" - fi -} - -pkg_prerm() { - use web && webapp_pkg_prerm -}