summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Waibel <waebbl-gentoo@posteo.net>2023-03-05 10:50:49 +0100
committerSam James <sam@gentoo.org>2023-03-07 07:57:00 +0000
commit19fd814a57cb65fcc57072f9576b05ebc19491ad (patch)
tree4e6b22750f2e905cf0b8f6ca6c19df040ae8855f
parentdev-libs/rocm-comgr: Fix comgr and mesa LLVM option collision (diff)
downloadgentoo-19fd814a.tar.gz
gentoo-19fd814a.tar.bz2
gentoo-19fd814a.zip
sci-libs/vtk: drop 9.0.3-r7, 9.1.0-r6, 9.2.2-r1
cleanup old Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> Closes: https://github.com/gentoo/gentoo/pull/29932 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--sci-libs/vtk/Manifest16
-rw-r--r--sci-libs/vtk/files/vtk-8.2.0-freetype-2.10.3-provide-FT_CALLBACK_DEF.patch18
-rw-r--r--sci-libs/vtk/files/vtk-9.0.1-0001-fix-kepler-compute_arch-if-CUDA-toolkit-11-is-used.patch32
-rw-r--r--sci-libs/vtk/files/vtk-9.0.1-limits-include-gcc11.patch84
-rw-r--r--sci-libs/vtk/files/vtk-9.0.3-IO-FFMPEG-support-FFmpeg-5.0-API-changes.patch141
-rw-r--r--sci-libs/vtk/files/vtk-9.1.0-Change-or-scope-struct-names-to-avoid-conflicts.patch127
-rw-r--r--sci-libs/vtk/files/vtk-9.1.0-adjust-to-find-binaries.patch25
-rw-r--r--sci-libs/vtk/files/vtk-9.1.0-avoid-naming-collision-with-netcdf-4.9.0.patch26
-rw-r--r--sci-libs/vtk/metadata.xml4
-rw-r--r--sci-libs/vtk/vtk-9.0.3-r7.ebuild563
-rw-r--r--sci-libs/vtk/vtk-9.1.0-r6.ebuild641
-rw-r--r--sci-libs/vtk/vtk-9.2.2-r1.ebuild748
12 files changed, 0 insertions, 2425 deletions
diff --git a/sci-libs/vtk/Manifest b/sci-libs/vtk/Manifest
index e07e36085b2f..d241500f291a 100644
--- a/sci-libs/vtk/Manifest
+++ b/sci-libs/vtk/Manifest
@@ -1,22 +1,6 @@
-DIST VTK-9.0.3.tar.gz 34684378 BLAKE2B 6862ab2df95bbefe9d3970757af6521cfa874476f6ee8e64c4e6e279f2e0cbb8a8299bc3b0b8bb9b7254d01a169644e7927b67b11b2ce934ddc87bce0a9e4c26 SHA512 00528011f9206444d09fc6cea05c46930745bb70ea02be6244ab3eb510ae82af772157c025157b1761dc4c6a9ab538b57f814c03a708f30aa3598a421fdc6ae2
-DIST VTK-9.1.0.tar.gz 47871165 BLAKE2B 68cebc0879737a519b53e73f198356208b047c301d38ee2d62b9a14539cdb9aa76bd7174baa29592c7b1cfd1cc9700d01e98519a207d67a232d16ad37295ac31 SHA512 b2c4be8795fa082e0776e6ffdb9a3fd88dbb235841a8369a34ebe26cf4c5fcb1610fcca987be314510629da3edc74ee76c0ce2cc88d5ef4b099ac550ac892b0a
-DIST VTK-9.2.2.tar.gz 53801737 BLAKE2B 345538004a1b147f8a6812e30b6e31bdfba27d13c47e3c659ef6eb51224aa6015a44e6aaabbc6d1b127691592b4727a51c952dc565d1a12f2eddedd1536af58b SHA512 11b8203a4efaac0cda9ea46acf58c0d88c18f55bfd52e284f74ef313646913d194d3885da9d9fa7222d926502522505bfdf9d719f8c09790dab1315e2161610a
DIST VTK-9.2.5.tar.gz 53807732 BLAKE2B 8d25ec8f23c12868b2321eca84644dbf44704e58b7b79b2fd3a1260f7a240a78e4007fd99633ba93359103afc8ec00c7fa84f62778aed3d3361e1774a87b5626 SHA512 b1f225fb2589449621fd32bb0fc3f4817478d972cdccf7a9a376f1c17e93d5bd0a0511cdaa8587568a4baac9dfa8b5ffb9041442e221cd98d8f55e9981b6fcbf
-DIST VTKData-9.0.3.tar.gz 413854066 BLAKE2B 84c2fa0ae5df8567cc06022262fe3ea1202c553168757c94aa4a0a258360deccdf349d474c2f6585fc2054ee8e0468df4c80ec835cecf6b2391efa639f479eaa SHA512 28ab2ecb32860d820f736e9ceb4345bcd03471f0a35b90f8c9ccbe05454f7a95a4de3c99bae2f4b9db87a27ef8fe50159cd283f5e921f4e6e69b06a50a0570c6
-DIST VTKData-9.1.0.tar.gz 590185633 BLAKE2B 7451d57bc507571afa8a8f9ba541010e1924849759f228318b6390aabb07a68341b84b38b82cd504844194544c569b040c9fad1858e6e35e172e4e18000d338e SHA512 134a8dd2b029d3a4959b601987e68a0caa5d050532655b6786b5b67dfc77d3639628b2b957511f8998e63864c247c501a11a6aed248c762f13e860d878778e1a
-DIST VTKData-9.2.2.tar.gz 593767482 BLAKE2B 65df8f96eaca9ada44f807bd4ff5efe569dde726105c7aa260c4f0ed3b8c19303b7781e0628a759cdf68b314155ac0d125403f27ee38eefd47336a8eed235851 SHA512 54d33ba24c9adfef2de17f26aa68b53f61f32e50d92bd1b0ddd75b1818d864af9a4d7fa7cb55297839bd2e50c2a7d12a18695151db32f7f59fbbd2ec9169e7b8
DIST VTKData-9.2.5.tar.gz 594016050 BLAKE2B 7f03f5640ee648275a9771f990f98a3b5dfee10c0e291b353e6f067a098d50e2653c577b7c9c4e19c1d554e14469968014d1dfe9e70a91ecbff75397a53c9be9 SHA512 c06264c10bf78943753e58b9cb034d56b65570995741020dc58d5703525cdd4842d680fb6e185fa8fc39b72225ea6b29d8d632c0327f4145a7e2b79f3f702ec3
-DIST VTKDataFiles-9.1.0.tar.gz 605163184 BLAKE2B 968e2fed1e17bb57da4f8dd38e17e128779e50dfce81fc31c6ef75a2f3fe46675dd77ab7343b609998b8ddd3927e256d1ea4117c2719ad76f61db435b5f1c34f SHA512 f56ebd087753e2d2805e2f5954197de4e9933ec90648956780525d83149277a7bca42ce376c4355a53fca71ec78510fed155955af71b70e1b26de27851252e36
-DIST VTKDataFiles-9.2.2.tar.gz 608752734 BLAKE2B b33bcec704e0db3ad0de958fbeca1adc1b904279b46a43a5abcd45a7df96138d4d3b76cb21af3aa48c0dd18d05987bdf58476fa945b59ed5b90ad6f2e386926f SHA512 75430127212fdf210fb98d278b0163b4ed09f567fd1b80fcf80ea1cf2709e41f785912b20591712f71ad7ede9e12e23e358b4889963bccfe66cf8c48a7f70e11
DIST VTKDataFiles-9.2.5.tar.gz 609038837 BLAKE2B e6a5aa5a865664cf407914c9598497f6304b914748ce9d9145b5b7d53f5897b4056b6f7615bb8221c9a9747caf13ba632e21b060b1c8963bb7d6b257bb1da559 SHA512 c0cf7e0fb79f626e25946f1154d9e4c3e7ec995a823a01fc9638976f89af26ae8978a5b6c8a78d62f42f7f81b5fbe0cddc6afc5836c214f3dcaddb917a1ccc79
-DIST VTKLargeData-9.0.3.tar.gz 247523270 BLAKE2B f4011292957454da5d8c9e515bcd0972af4299cef3928098d745be96559a1e0080297871c6e11fdd98498c8786a30a6674bc650368adcbcdbc6260e0938d21a1 SHA512 ebd6cb5f2935b77961dd68d0c0da2ea5ab900cec8c2eb641c785a604c65702e40a3e44d32bf3f2acfce9ec28dd89f41bf29f93a4f89d5b36c713f3743d7125b1
-DIST VTKLargeData-9.1.0.tar.gz 247517666 BLAKE2B 1b47829ad51f246ff26c8b6d16c9fa431e53ca33fec99e8aa78ee156a82e4b3351e32ee36674d9d345f346efad085ae1e2d3186a144911d2210a31a259e69f1f SHA512 0760dfd4e92bbfec10fec9d783f548a8ca5464b1a1744dfa575d4ed4592756335dbfcf28249d2da964aa6b41933ff1ac98458e4a32484ee4bb91b5e7cfaa78c9
-DIST VTKLargeData-9.2.2.tar.gz 247523477 BLAKE2B a17f2e5499efb469162f2face7e5fb0cb559302d0ede75b3b0602036aba80d248895450c5da65198a4bed0a9a0d70e6b2a22e18447d7bab04b8277cb943ebd79 SHA512 4ee1f0b4dac929f7335d2a23ad56ddddaa8ebba34c547c18883418f56fb285fba38ffbfd5124ab428b6e19e87a916ba0858ae227af453519c1cbd5598fe6ccf6
DIST VTKLargeData-9.2.5.tar.gz 247523496 BLAKE2B edc785e271ba605c730b9c8d9d62d2d95d818ebf18e4b20468c247187720a27897ecbf701e1eff61ba135545e6ea8f573ef120206813ee5ca11be33d8c5ff728 SHA512 7a994024aa42b48d3633cdcc528d89a2e7e07bcc47d01a0001578720dbc2eb991b90dc2f9caafe8f26a1f10185efb1bc2c0506f799da2b96e63ba08cb564117d
-DIST VTKLargeDataFiles-9.1.0.tar.gz 247504557 BLAKE2B a05892347a1a5cf5cb0df3f1c1d94efcdb68c28bcd0391617602565fddc4277ac44accec6f1b3ae2822a860f3d5f5642a56e36171b5d81bef137561182051d08 SHA512 10abc287256c7ec5fb7114f4054eda5cde1b75a8d2bbe70375fb96d31b7c4164be936489ce2fc9b5c33225f494d9b7f5f7bed648828661b17d6f66acb70eeddc
-DIST VTKLargeDataFiles-9.2.2.tar.gz 247507138 BLAKE2B af593595b0b681a91e491a9fcab748d1d2ba2949d3da728eab60e94810d1d550ad66318d3f66ec170c020212b95e7273dd530fcf243eaebbe0255f589098b74a SHA512 0c919e1b425da5f77af1dec4f83c993387e95f84a8273ded4d2486c3fd171cf3a4f5cb7a80e722200cc44a19bf1fdc358fcea48c4c741d9a5f5fc6086e4c602c
DIST VTKLargeDataFiles-9.2.5.tar.gz 247506616 BLAKE2B 45cd462a11dfa65260a5aa178b2004636eb8ec000af9103fd2fc64ca55b0f607cdf39c40f5f0a9ef843b7b2e468e0f84a34dafb8b8655efce5c8d39c80961422 SHA512 da96e4f1d0e21bc597832d8cd0730dcdd8a8f7d6c1f41f74ec41a7a1d0b2a2d61e86bcb5fade7d3210b9d66cae975b537e25280767e37fe08e0965b3e98c1cae
-DIST vtkDocHtml-9.0.3.tar.gz 132650096 BLAKE2B 45fc1a6942df3e79e500a552c3b3cda2099b9451191559d471e3a2e785a8c52b2c6273cfd2cc4a3f3f65582e607d9414475f58d243fde96a4f985bed479e53db SHA512 9b5fef43f3c2b92aa1fe6a9ba9458d6677874b09b167654db7f26df6feffdc34ed1a8fb4e59d64b75625063a774af77fe57f275903602a5f7daa74e1a2e71800
-DIST vtkDocHtml-9.1.0.tar.gz 152767166 BLAKE2B 9163b6b1bf55810a310ca8bc211e067827b1f9907efd2a378363d8e6296d4bf07b25371b66c00cab3576fb06f0cb63fdf2ffea044033e2c42e9087819a3736ba SHA512 036daba5eb6503b5eb3e9323a4ab3ea0f27c09d8fef411dd2ed154c24d5a37d9f19d57db07576c8af404bfdb7178e95b137a3c27bfedb3f9cb72c04f717da80a
-DIST vtkDocHtml-9.2.2.tar.gz 158843945 BLAKE2B 682206834319d22d4ffe9bb7f5d20828274cbc7fc14b8215afeddf4783d07f61dab84d0562b002b76306551d20ceac904763168b29dfe1eb429fe8d0e0f3ebda SHA512 d03ed66c5ace0d8c7698a17574f7a44ca2a5361397508d2080812e6cc894fce566c3b552687b8af31e3eb25511d7ad0b98b33044f327e3b5a03451ee2e50cff0
DIST vtkDocHtml-9.2.5.tar.gz 158865725 BLAKE2B ccfb6276955bda567e7f2b6fdc5e3e601766bae0314821c243a3d009e1557c5732bfbab59358670c4bc6cd598ba80c284971763e5279bc53c37d954ec30fcc03 SHA512 7901e9fb987ef3b88e8c507ecc7538b551c81d04a9cc65a84ff43b40dc1aeca2a694dd9842a030979a1370873b9fed0c8746a0634b486566086d7784a19181d6
diff --git a/sci-libs/vtk/files/vtk-8.2.0-freetype-2.10.3-provide-FT_CALLBACK_DEF.patch b/sci-libs/vtk/files/vtk-8.2.0-freetype-2.10.3-provide-FT_CALLBACK_DEF.patch
deleted file mode 100644
index b4674873508f..000000000000
--- a/sci-libs/vtk/files/vtk-8.2.0-freetype-2.10.3-provide-FT_CALLBACK_DEF.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- VTK-8.2.0/ThirdParty/freetype/vtk_freetype.h.in.orig 2019-01-30 18:15:13.000000000 +0100
-+++ VTK-8.2.0/ThirdParty/freetype/vtk_freetype.h.in 2020-10-17 00:03:32.730820908 +0200
-@@ -20,6 +20,15 @@
-
- #ifdef VTK_USE_SYSTEM_FREETYPE
- # include <ft2build.h>
-+/* FT_CALLBACK_DEF no longer exported since freetype-2.10.3 */
-+/* has been moved to <freetype/internal/compiler-macros.h> */
-+# ifndef FT_CALLBACK_DEF
-+# ifdef __cplusplus
-+# define FT_CALLBACK_DEF( x ) extern "C" x
-+# else
-+# define FT_CALLBACK_DEF( x ) static x
-+# endif
-+# endif /* FT_CALLBACK_DEF */
- #else
- # include <vtkfreetype/include/ft2build.h>
- #endif
diff --git a/sci-libs/vtk/files/vtk-9.0.1-0001-fix-kepler-compute_arch-if-CUDA-toolkit-11-is-used.patch b/sci-libs/vtk/files/vtk-9.0.1-0001-fix-kepler-compute_arch-if-CUDA-toolkit-11-is-used.patch
deleted file mode 100644
index 2514dac6356a..000000000000
--- a/sci-libs/vtk/files/vtk-9.0.1-0001-fix-kepler-compute_arch-if-CUDA-toolkit-11-is-used.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 33d9b7ded14ce36e3f63810f3403623ee5c2059c Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Sun, 10 Jan 2021 20:29:56 +0100
-Subject: [PATCH] fix kepler compute_arch if CUDA toolkit >=11 is used.
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
----
- .../vtkm/vtkvtkm/vtk-m/CMake/VTKmDeviceAdapters.cmake | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake/VTKmDeviceAdapters.cmake b/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake/VTKmDeviceAdapters.cmake
-index ff0b2581..e565e783 100644
---- a/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake/VTKmDeviceAdapters.cmake
-+++ b/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake/VTKmDeviceAdapters.cmake
-@@ -229,8 +229,12 @@ if(VTKm_ENABLE_CUDA)
- if(VTKm_CUDA_Architecture STREQUAL "fermi")
- set(arch_flags --generate-code=arch=compute_20,code=sm_20)
- elseif(VTKm_CUDA_Architecture STREQUAL "kepler")
-- set(arch_flags --generate-code=arch=compute_30,code=sm_30
-- --generate-code=arch=compute_35,code=sm_35)
-+ if(CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 11.0)
-+ set(arch_flags --generate-code=arch=compute_30,code=sm_30
-+ --generate-code=arch=compute_35,code=sm_35)
-+ else()
-+ set(arch_flags --generate-code=arch=compute_35,code=sm_35)
-+ endif()
- elseif(VTKm_CUDA_Architecture STREQUAL "maxwell")
- set(arch_flags --generate-code=arch=compute_50,code=sm_50)
- elseif(VTKm_CUDA_Architecture STREQUAL "pascal")
---
-2.30.0
-
diff --git a/sci-libs/vtk/files/vtk-9.0.1-limits-include-gcc11.patch b/sci-libs/vtk/files/vtk-9.0.1-limits-include-gcc11.patch
deleted file mode 100644
index 5473378512f9..000000000000
--- a/sci-libs/vtk/files/vtk-9.0.1-limits-include-gcc11.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From c7d6a8d81367a4ed92163c059aa3181386eabc24 Mon Sep 17 00:00:00 2001
-From: Ben Boeckel <ben.boeckel@kitware.com>
-Date: Mon, 3 May 2021 11:55:27 -0400
-Subject: [PATCH] vtkDataArrayPrivate: include <limits> for std::numeric_limits
-
-See: #18194
----
- Common/Core/vtkDataArrayPrivate.txx | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Common/Core/vtkDataArrayPrivate.txx b/Common/Core/vtkDataArrayPrivate.txx
-index eb366f1c6d0..6709f7f3ac1 100644
---- a/Common/Core/vtkDataArrayPrivate.txx
-+++ b/Common/Core/vtkDataArrayPrivate.txx
-@@ -24,6 +24,7 @@
- #include <algorithm>
- #include <array>
- #include <cassert> // for assert()
-+#include <limits>
- #include <vector>
-
- namespace vtkDataArrayPrivate
---
-GitLab
-diff --git a/Common/Core/vtkGenericDataArrayLookupHelper.h b/Common/Core/vtkGenericDataArrayLookupHelper.h
-index f278e27..de6d842 100644
---- a/Common/Core/vtkGenericDataArrayLookupHelper.h
-+++ b/Common/Core/vtkGenericDataArrayLookupHelper.h
-@@ -25,6 +25,7 @@
- #include "vtkIdList.h"
- #include <algorithm>
- #include <cmath>
-+#include <limits>
- #include <unordered_map>
- #include <vector>
-
-diff --git a/Common/DataModel/vtkPiecewiseFunction.cxx b/Common/DataModel/vtkPiecewiseFunction.cxx
-index c75935fd..9459ce90 100644
---- a/Common/DataModel/vtkPiecewiseFunction.cxx
-+++ b/Common/DataModel/vtkPiecewiseFunction.cxx
-@@ -22,6 +22,7 @@
- #include <cassert>
- #include <cmath>
- #include <iterator>
-+#include <limits>
- #include <set>
- #include <vector>
-
-diff --git a/Rendering/Core/vtkColorTransferFunction.cxx b/Rendering/Core/vtkColorTransferFunction.cxx
-index 40504e5..125597b 100644
---- a/Rendering/Core/vtkColorTransferFunction.cxx
-+++ b/Rendering/Core/vtkColorTransferFunction.cxx
-@@ -21,6 +21,7 @@
- #include <algorithm>
- #include <cmath>
- #include <iterator>
-+#include <limits>
- #include <set>
- #include <vector>
-
-diff --git a/Filters/HyperTree/vtkHyperTreeGridThreshold.cxx b/Filters/HyperTree/vtkHyperTreeGridThreshold.cxx
-index 9944db6..01a1517 100644
---- a/Filters/HyperTree/vtkHyperTreeGridThreshold.cxx
-+++ b/Filters/HyperTree/vtkHyperTreeGridThreshold.cxx
-@@ -28,6 +28,7 @@
- #include "vtkHyperTreeGridNonOrientedCursor.h"
-
- #include <cmath>
-+#include <limits>
-
- vtkStandardNewMacro(vtkHyperTreeGridThreshold);
-
-diff --git a/Common/DataModel/Testing/Cxx/UnitTestLine.cxx b/Common/DataModel/Testing/Cxx/UnitTestLine.cxx
-index 7823d61..02f627d 100644
---- a/Common/DataModel/Testing/Cxx/UnitTestLine.cxx
-+++ b/Common/DataModel/Testing/Cxx/UnitTestLine.cxx
-@@ -14,6 +14,7 @@
- =========================================================================*/
-
- #include <cmath>
-+#include <limits>
-
- #include "vtkLine.h"
- #include "vtkMath.h"
diff --git a/sci-libs/vtk/files/vtk-9.0.3-IO-FFMPEG-support-FFmpeg-5.0-API-changes.patch b/sci-libs/vtk/files/vtk-9.0.3-IO-FFMPEG-support-FFmpeg-5.0-API-changes.patch
deleted file mode 100644
index 276831d8491e..000000000000
--- a/sci-libs/vtk/files/vtk-9.0.3-IO-FFMPEG-support-FFmpeg-5.0-API-changes.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From https://gitlab.kitware.com/ben.boeckel/vtk/-/commit/bad8f3e9d0aad03e8f2aff9524cb3c5f2d10ccaf
-From: Ben Boeckel <ben.boeckel@kitware.com>
-Date: Fri, 28 Jan 2022 10:44:28 -0500
-Subject: [PATCH] IO/FFMPEG: support FFmpeg 5.0 API changes
-
-Fixes: #18445
---- /dev/null
-+++ b/Documentation/release/dev/ffmpeg-5.0.md
-@@ -0,0 +1,3 @@
-+## FFmpeg 5.0 support
-+
-+FFmpeg 5.0 API changes are now supported.
---- a/IO/FFMPEG/CMakeLists.txt
-+++ b/IO/FFMPEG/CMakeLists.txt
-@@ -6,7 +6,9 @@ vtk_module_find_package(
- avformat
- avcodec
- avutil
-- swscale)
-+ swscale
-+ OPTIONAL_COMPONENTS
-+ swresample)
-
- set(classes
- vtkFFMPEGWriter)
-@@ -21,6 +23,17 @@ if (NOT FFMPEG_VERSION VERSION_LESS "3.1")
- vtkFFMPEGVideoSource)
- endif ()
-
-+set(ffmpeg_libraries)
-+if (NOT FFMPEG_VERSION VERSION_LESS "5.0")
-+ if (NOT FFMPEG_swresample_FOUND)
-+ message(FATAL_ERROR
-+ "FFMPEG 5.0 requires the `swresample` library.")
-+ endif ()
-+
-+ list(APPEND ffmpeg_libraries
-+ FFMPEG::swresample)
-+endif ()
-+
- vtk_module_add_module(VTK::IOFFMPEG
- CLASSES ${classes})
- vtk_module_link(VTK::IOFFMPEG
-@@ -28,4 +41,5 @@ vtk_module_link(VTK::IOFFMPEG
- FFMPEG::avformat
- FFMPEG::avcodec
- FFMPEG::avutil
-- FFMPEG::swscale)
-+ FFMPEG::swscale
-+ ${ffmpeg_libraries})
---- a/IO/FFMPEG/vtkFFMPEGVideoSource.cxx
-+++ b/IO/FFMPEG/vtkFFMPEGVideoSource.cxx
-@@ -205,7 +205,7 @@ void vtkFFMPEGVideoSource::Initialize()
-
- this->Internal->VideoStream = fcontext->streams[this->Internal->VideoStreamIndex];
-
-- AVCodec* dec = avcodec_find_decoder(this->Internal->VideoStream->codecpar->codec_id);
-+ const AVCodec* dec = avcodec_find_decoder(this->Internal->VideoStream->codecpar->codec_id);
- if (!dec)
- {
- vtkErrorMacro("Failed to find codec for video");
-@@ -271,7 +271,7 @@ void vtkFFMPEGVideoSource::Initialize()
- {
- this->Internal->AudioStream = fcontext->streams[this->Internal->AudioStreamIndex];
-
-- AVCodec* adec = avcodec_find_decoder(this->Internal->AudioStream->codecpar->codec_id);
-+ const AVCodec* adec = avcodec_find_decoder(this->Internal->AudioStream->codecpar->codec_id);
- if (!adec)
- {
- vtkErrorMacro("Failed to find codec for audio");
---- a/IO/FFMPEG/vtkFFMPEGWriter.cxx
-+++ b/IO/FFMPEG/vtkFFMPEGWriter.cxx
-@@ -21,10 +21,17 @@
-
- extern "C"
- {
-+#include <libavcodec/avcodec.h>
- #include <libavformat/avformat.h>
- #include <libswscale/swscale.h>
- }
-
-+#if LIBAVFORMAT_VERSION_MAJOR < 59
-+#define vtk_ff_const59
-+#else
-+#define vtk_ff_const59 const
-+#endif
-+
- #if defined(LIBAVFORMAT_VERSION_MAJOR) && LIBAVFORMAT_VERSION_MAJOR >= 57
- extern "C"
- {
-@@ -51,7 +58,7 @@ private:
-
- AVFormatContext* avFormatContext;
-
-- AVOutputFormat* avOutputFormat;
-+ vtk_ff_const59 AVOutputFormat* avOutputFormat;
-
- AVStream* avStream;
-
-@@ -115,15 +122,9 @@ int vtkFFMPEGWriterInternal::Start()
- return 0;
- }
-
-- if (this->Writer->GetCompression())
-- {
-- // choose a codec that is easily playable on windows
-- this->avOutputFormat->video_codec = AV_CODEC_ID_MJPEG;
-- }
-- else
-- {
-- this->avOutputFormat->video_codec = AV_CODEC_ID_RAWVIDEO;
-- }
-+ enum AVCodecID video_codec = this->Writer->GetCompression()
-+ ? AV_CODEC_ID_MJPEG // choose a codec that is easily playable on windows
-+ : AV_CODEC_ID_RAWVIDEO;
-
- // create the format context that wraps all of the media output structures
- if (avformat_alloc_output_context2(
-@@ -133,8 +134,8 @@ int vtkFFMPEGWriterInternal::Start()
- return 0;
- }
-
-- AVCodec* codec;
-- if (!(codec = avcodec_find_encoder(this->avOutputFormat->video_codec)))
-+ vtk_ff_const59 AVCodec* codec;
-+ if (!(codec = avcodec_find_encoder(video_codec)))
- {
- vtkGenericWarningMacro(<< "Failed to get video codec.");
- return 0;
-@@ -155,7 +156,7 @@ int vtkFFMPEGWriterInternal::Start()
- return 0;
- }
-
-- this->avStream->codecpar->codec_id = static_cast<AVCodecID>(this->avOutputFormat->video_codec);
-+ this->avStream->codecpar->codec_id = video_codec;
- this->avStream->codecpar->codec_type = AVMEDIA_TYPE_VIDEO;
- this->avStream->codecpar->width = this->Dim[0];
- this->avStream->codecpar->height = this->Dim[1];
---
-2.35.1
-
diff --git a/sci-libs/vtk/files/vtk-9.1.0-Change-or-scope-struct-names-to-avoid-conflicts.patch b/sci-libs/vtk/files/vtk-9.1.0-Change-or-scope-struct-names-to-avoid-conflicts.patch
deleted file mode 100644
index 24804ca2dc0a..000000000000
--- a/sci-libs/vtk/files/vtk-9.1.0-Change-or-scope-struct-names-to-avoid-conflicts.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From https://gitlab.kitware.com/vtk/vtk/-/commit/0322b938968eebee585ad7efb93bbdade7106355
-
-https://bugs.gentoo.org/863038
-https://gitlab.kitware.com/vtk/vtk/-/issues/18638
-
-From: Aron Helser <aron.helser@kitware.com>
-Date: Mon, 15 Aug 2022 10:06:13 -0400
-Subject: [PATCH 16/30] Change or scope struct names to avoid conflicts.
-
-(cherry picked from commit b79eb46bf5a4277cafc1ed2bd47fd3ffc28a5b3f)
---- a/IO/AMR/vtkAMRFlashReader.cxx
-+++ b/IO/AMR/vtkAMRFlashReader.cxx
-@@ -153,7 +153,7 @@ void vtkAMRFlashReader::ComputeStats(
-
- for (int i = 0; i < internal->NumberOfBlocks; ++i)
- {
-- Block& theBlock = internal->Blocks[i];
-+ FlashReaderBlock& theBlock = internal->Blocks[i];
- double* gridMin = theBlock.MinBounds;
- if (gridMin[0] < min[0])
- {
-@@ -193,7 +193,7 @@ int vtkAMRFlashReader::FillMetaData()
-
- for (int i = 0; i < this->Internal->NumberOfBlocks; ++i)
- {
-- Block& theBlock = this->Internal->Blocks[i];
-+ FlashReaderBlock& theBlock = this->Internal->Blocks[i];
-
- // Start numbering levels from 0!
- int level = this->Internal->Blocks[i].Level - 1;
---- a/IO/AMR/vtkAMRFlashReaderInternal.cxx
-+++ b/IO/AMR/vtkAMRFlashReaderInternal.cxx
-@@ -692,7 +692,7 @@ void vtkFlashReaderInternal::GetBlockMinMaxGlobalDivisionIds()
-
- for (int b = 0; b < this->NumberOfBlocks; b++)
- {
-- Block& B = this->Blocks[b];
-+ FlashReaderBlock& B = this->Blocks[b];
-
- for (int d = 0; d < 3; d++)
- {
---- a/IO/AMR/vtkAMRFlashReaderInternal.h
-+++ b/IO/AMR/vtkAMRFlashReaderInternal.h
-@@ -74,7 +74,7 @@ typedef struct tagFlashReaderSimulationParameters
- double RedShift;
- } FlashReaderSimulationParameters;
-
--typedef struct tagBlock
-+typedef struct tagFlashReaderBlock
- {
- int Index; // Id of the block
- int Level; // LOD level
-@@ -88,7 +88,7 @@ typedef struct tagBlock
- double Center[3]; // center of the block
- double MinBounds[3]; // lower left of the bounding box
- double MaxBounds[3]; // upper right of the bounding box
--} Block;
-+} FlashReaderBlock;
-
- typedef struct tagFlashReaderSimulationInformation
- {
-@@ -152,7 +152,7 @@ public:
- FlashReaderSimulationInformation SimulationInformation; // CFD simulation
-
- // blocks
-- std::vector<Block> Blocks;
-+ std::vector<FlashReaderBlock> Blocks;
- std::vector<int> LeafBlocks;
- std::vector<std::string> AttributeNames;
-
---- a/IO/AMR/vtkAMRVelodyneReader.cxx
-+++ b/IO/AMR/vtkAMRVelodyneReader.cxx
-@@ -219,7 +219,7 @@ int vtkAMRVelodyneReader::FillMetaData()
- double spacing[3];
- for (int i = 0; i < this->Internal->nBlocks; i++)
- {
-- Block& theBlock = this->Internal->Blocks[i];
-+ vtkAMRVelodyneReaderInternal::Block& theBlock = this->Internal->Blocks[i];
- int level = theBlock.Level;
- int id = theBlock.Index;
- CalculateBlockDims(this->Internal->blockDims.data(), theBlock.isFull, dims);
-@@ -243,7 +243,7 @@ vtkUniformGrid* vtkAMRVelodyneReader::GetAMRGrid(const int blockIdx)
- {
- return nullptr;
- }
-- Block& theBlock = this->Internal->Blocks[blockIdx];
-+ vtkAMRVelodyneReaderInternal::Block& theBlock = this->Internal->Blocks[blockIdx];
- int dims[3];
- CalculateBlockDims(this->Internal->blockDims.data(), theBlock.isFull, dims);
- vtkUniformGrid* ug = vtkUniformGrid::New();
---- a/IO/AMR/vtkAMRVelodyneReaderInternal.h
-+++ b/IO/AMR/vtkAMRVelodyneReaderInternal.h
-@@ -48,24 +48,20 @@
- //================================================================================
- // INTERNAL VELODYNE READER
- //================================================================================
--typedef struct tagVelodyneSimParameters
--{
-- double Time;
-- int CycleTime;
--} VelodneSimParameters;
-
--typedef struct tagBlock
--{
-- int Index;
-- int dSetLoc;
-- int Level;
-- double Origin[3];
-- bool isFull;
-- bool isLeaf;
--} Block;
- class vtkAMRVelodyneReaderInternal
- {
- public:
-+ typedef struct tagVelodyneBlock
-+ {
-+ int Index;
-+ int dSetLoc;
-+ int Level;
-+ double Origin[3];
-+ bool isFull;
-+ bool isLeaf;
-+ } Block;
-+
- vtkAMRVelodyneReaderInternal();
- ~vtkAMRVelodyneReaderInternal();
- void SetFileName(VTK_FILEPATH VTK_FUTURE_CONST char* fileName);
diff --git a/sci-libs/vtk/files/vtk-9.1.0-adjust-to-find-binaries.patch b/sci-libs/vtk/files/vtk-9.1.0-adjust-to-find-binaries.patch
deleted file mode 100644
index 10d6d251ebf3..000000000000
--- a/sci-libs/vtk/files/vtk-9.1.0-adjust-to-find-binaries.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From e59b8ff7b83cd6a58c226cb4f5d9661bcb29002b Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Thu, 31 Mar 2022 08:05:17 +0200
-Subject: [PATCH] adjust to find binaries
-
-Add compatibility for qt-5.15.3 with no qtchooser installed. QtCore exports
-Qt5::{qmake,moc,rcc} which we use to get the path for binaries.
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
---- a/GUISupport/QtQuick/qml/CMakeLists.txt
-+++ b/GUISupport/QtQuick/qml/CMakeLists.txt
-@@ -60,8 +60,8 @@ file(GENERATE
- # Generate the qmltypes file for the VTK QML plugin
-
- # First, find the qmlplugindump executable
--get_target_property(qt_core_location "Qt${vtk_qt_major_version}::Core" LOCATION)
--get_filename_component(qt_bin_dir "${qt_core_location}" PATH)
-+get_target_property(qt_qmake_location "Qt${vtk_qt_major_version}::qmake" LOCATION)
-+get_filename_component(qt_bin_dir "${qt_qmake_location}" PATH)
- if (APPLE)
- get_filename_component(qt_bin_dir "${qt_bin_dir}" PATH)
- endif ()
---
-2.35.1
-
diff --git a/sci-libs/vtk/files/vtk-9.1.0-avoid-naming-collision-with-netcdf-4.9.0.patch b/sci-libs/vtk/files/vtk-9.1.0-avoid-naming-collision-with-netcdf-4.9.0.patch
deleted file mode 100644
index 7549c240ee51..000000000000
--- a/sci-libs/vtk/files/vtk-9.1.0-avoid-naming-collision-with-netcdf-4.9.0.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-https://bugs.gentoo.org/851594
-
-From b155e9716a1cf4a03948c01f49c4097e466da4f0 Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Mon, 20 Jun 2022 07:07:19 +0200
-Subject: [PATCH] avoid naming collision with netcdf-4.9.0
-
-The identifier has already been #defined with netcdf-4.9.0. To avoid
-conflicts guard the declaration.
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
---- a/ThirdParty/exodusII/vtkexodusII/src/ex_utils.c
-+++ b/ThirdParty/exodusII/vtkexodusII/src/ex_utils.c
-@@ -1770,7 +1770,9 @@ void ex__compress_variable(int exoid, int varid, int type)
- */
-
- /* const int NC_SZIP_EC = 4; */ /* Selects entropy coding method for szip. */
-+#ifndef NC_SZIP_NN
- const int NC_SZIP_NN = 32; /* Selects nearest neighbor coding method for szip. */
-+#endif
- /* Even and between 4 and 32; typical values are 8, 10, 16, 32 */
- const int SZIP_PIXELS_PER_BLOCK =
- file->compression_level == 0 ? 32 : file->compression_level;
---
-2.35.1
-
diff --git a/sci-libs/vtk/metadata.xml b/sci-libs/vtk/metadata.xml
index d047994a2853..6c18a5feb9e9 100644
--- a/sci-libs/vtk/metadata.xml
+++ b/sci-libs/vtk/metadata.xml
@@ -20,14 +20,10 @@
<flag name="freetype">Build support for font rendering</flag>
<flag name="gdal">Support for gdal formated data</flag>
<flag name="imaging">Building Imaging modules</flag>
- <flag name="json">Support for json formatted data</flag>
- <flag name="kits">Build kits in addition to modules</flag>
<flag name="las">Build support for LiDAR files</flag>
<flag name="logging">Build the logging module</flag>
- <flag name="offscreen">Offscreen rendering through OSMesa</flag>
<flag name="openvdb">Build support to handle VDB data files</flag>
<flag name="pdal">Build support to handle point cloud data files</flag>
- <flag name="pegtl">Use pegtl to build parsers</flag>
<flag name="qt6">Use Qt6 packages instead of Qt5</flag>
<flag name="rendering">Building Redering modules</flag>
<flag name="sdl">Enable SDL2 support for rendering modules</flag>
diff --git a/sci-libs/vtk/vtk-9.0.3-r7.ebuild b/sci-libs/vtk/vtk-9.0.3-r7.ebuild
deleted file mode 100644
index 704b90b94032..000000000000
--- a/sci-libs/vtk/vtk-9.0.3-r7.ebuild
+++ /dev/null
@@ -1,563 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# TODO:
-# - add USE flag for remote modules? Those modules can be downloaded
-# properly before building.
-
-PYTHON_COMPAT=( python3_{9..10} )
-WEBAPP_OPTIONAL=yes
-WEBAPP_MANUAL_SLOT=yes
-
-inherit check-reqs cmake cuda flag-o-matic java-pkg-opt-2 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
- https://www.vtk.org/files/release/${MY_PV}/VTKData-${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 )
- test? (
- https://www.vtk.org/files/release/${MY_PV}/VTKLargeData-${PV}.tar.gz
- )
-"
-S="${WORKDIR}/VTK-${PV}"
-
-LICENSE="BSD LGPL-2"
-SLOT="0/${MY_PV}"
-KEYWORDS="amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
-# Note: external xdmf2 has no recognized target
-IUSE="+X all-modules boost cuda doc examples ffmpeg gdal imaging java
- +json kits mpi mysql odbc offscreen openmp pegtl postgres python
- qt5 +rendering tbb theora tk video_cards_nvidia views web"
-
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
- all-modules? ( boost ffmpeg gdal imaging mysql odbc postgres qt5 rendering theora views )
- cuda? ( X video_cards_nvidia )
- java? ( rendering )
- python? ( ${PYTHON_REQUIRED_USE} )
- qt5? ( X rendering )
- tk? ( X rendering python )
- web? ( python )
- ^^ ( X offscreen )
-"
-
-RDEPEND="
- app-arch/lz4
- app-arch/xz-utils
- dev-db/sqlite
- dev-cpp/eigen[cuda?,openmp?]
- dev-libs/double-conversion:=
- dev-libs/expat
- dev-libs/icu:=
- dev-libs/libxml2:2
- dev-libs/pugixml
- media-libs/freetype
- media-libs/libogg
- media-libs/libpng
- media-libs/libtheora
- media-libs/tiff:=
- <sci-libs/hdf5-1.12:=[mpi=]
- sci-libs/kissfft[openmp?]
- sci-libs/netcdf:=[mpi=]
- sys-libs/zlib
- media-libs/libjpeg-turbo
- all-modules? ( sci-geosciences/liblas[gdal] )
- boost? ( dev-libs/boost:=[mpi?] )
- cuda? ( dev-util/nvidia-cuda-toolkit:= )
- ffmpeg? ( media-video/ffmpeg:= )
- gdal? ( sci-libs/gdal:= )
- java? ( >=virtual/jdk-1.8:* )
- json? ( dev-libs/jsoncpp:= )
- mpi? (
- sci-libs/h5part
- sys-cluster/openmpi[cxx,romio]
- )
- mysql? ( dev-db/mariadb-connector-c )
- odbc? ( dev-db/unixODBC )
- offscreen? ( media-libs/mesa[osmesa] )
- postgres? ( dev-db/postgresql:= )
- python? ( ${PYTHON_DEPS} )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtsql:5
- dev-qt/qtwidgets:5
- )
- rendering? (
- media-libs/freeglut
- media-libs/glew:=
- <sci-libs/proj-8:=
- virtual/opengl
- x11-libs/gl2ps
- )
- tbb? ( <dev-cpp/tbb-2021:= )
- tk? ( dev-lang/tk:= )
- video_cards_nvidia? ( x11-drivers/nvidia-drivers[tools,static-libs] )
- views? (
- x11-libs/libICE
- x11-libs/libXext
- )
- web? ( ${WEBAPP_DEPEND} )
- python? (
- $(python_gen_cond_dep '
- boost? ( dev-libs/boost:=[mpi?,python?,${PYTHON_USEDEP}] )
- mpi? ( dev-python/mpi4py[${PYTHON_USEDEP}] )
- ')
- gdal? ( sci-libs/gdal:=[python?,${PYTHON_SINGLE_USEDEP}] )
- )
-"
-DEPEND="
- ${RDEPEND}
- dev-libs/jsoncpp
- dev-libs/utfcpp
- pegtl? ( <dev-libs/pegtl-3 )
-"
-BDEPEND="
- mpi? ( app-admin/chrpath )
- openmp? (
- || (
- sys-devel/gcc[openmp(+)]
- sys-devel/clang-runtime[openmp(+)]
- )
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-9.0.1-0001-fix-kepler-compute_arch-if-CUDA-toolkit-11-is-used.patch
- "${FILESDIR}"/${PN}-8.2.0-freetype-2.10.3-provide-FT_CALLBACK_DEF.patch
- "${FILESDIR}"/${PN}-9.0.1-limits-include-gcc11.patch
- "${FILESDIR}"/${P}-IO-FFMPEG-support-FFmpeg-5.0-API-changes.patch
-)
-
-DOCS=( CONTRIBUTING.md README.md )
-
-CHECKREQS_DISK_BUILD="3G"
-
-pkg_pretend() {
- if use examples; then
- CHECKREQS_DISK_BUILD="4G"
- fi
- if use cuda; then
- # NOTE: This should actually equal to (number of build jobs)*7G,
- # as any of the cuda compile tasks can take up 7G!
- # 10.2 GiB install directory, 6.4 GiB build directory with max. USE flags
- CHECKREQS_MEMORY="7G"
- CHECKREQS_DISK_BUILD="14G"
- if [[ ${VTK_CUDA_ARCH} = native ]]; then
- eerror "Using native CUDA arches is currently broken."
- eerror "Please set it to one of the common arch names:"
- eerror "kepler, maxwell, pascal, turing or ampere."
- die "Please set VTK_CUDA_ARCH environment variable!"
- fi
- fi
- check-reqs_pkg_setup
-}
-
-pkg_setup() {
- if use examples; then
- CHECKREQS_DISK_BUILD="4G"
- fi
- if use cuda; then
- CHECKREQS_MEMORY="7G"
- CHECKREQS_DISK_BUILD="14G"
- if [[ ${VTK_CUDA_ARCH} = native ]]; then
- eerror "Using native CUDA arches is currently broken."
- eerror "Please set it to one of the common arch names:"
- eerror "kepler, maxwell, pascal, turing or ampere."
- die "Please set VTK_CUDA_ARCH environment variable!"
- fi
- fi
- check-reqs_pkg_setup
-
- use java && java-pkg-opt-2_pkg_setup
- use python && python-single-r1_pkg_setup
- use web && webapp_pkg_setup
-}
-
-src_prepare() {
- # If we have system libraries available use these and delete
- # the respecting files in ${S}/ThirdParty to save some space.
- # Note: libharu is omitted: vtk needs an updated version (2.4.0)
- # Note: no valid xdmf2 targets are found for system xdmf2
- # Note: no valid target found for h5part and mpi4py
- # TODO: diy2 exodusII h5part libharu verdict vpic vtkm xdmf2 xdmf3 zfp
- local -a DROPS=( doubleconversion eigen expat freetype gl2ps glew
- hdf5 jpeg jsoncpp libproj libxml2 lz4 lzma netcdf ogg png pugixml
- sqlite theora tiff utf8 zlib )
- use pegtl && DROPS+=( pegtl )
-
- local x
- for x in ${DROPS[@]}; do
- ebegin "Dropping bundled ${x}"
- rm -r ThirdParty/${x}/vtk${x} || die
- eend $?
- done
- unset x
-
- 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 cuda; then
- cuda_add_sandbox -w
- cuda_src_prepare
- fi
-
- 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 ../../VTK-${PV}/.ExternalData/README.rst . || die
- ln -sf ../../VTK-${PV}/.ExternalData/SHA512 . || die
- popd >/dev/null || die
- eend "$?"
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
-# TODO: defaults for some variables to consider as USE flags
-# -DVTK_ANDROID_BUILD=OFF
-# -DVTK_BUILD_COMPILE_TOOLS_ONLY=OFF
-# -DVTK_ENABLE_LOGGING=ON
-# -DVTK_ENABLE_REMOTE_MODULES=ON
-# -DVTK_INSTALL_SDK=ON
-# -DVTK_IOS_BUILD=OFF
-# -DVTK_LEGACY_REMOVE=OFF
-# -DVTK_LEGACY_SILENT=OFF
-# -DVTK_WHEEL_BUILD=OFF
-
- -DVTK_BUILD_ALL_MODULES=$(usex all-modules ON OFF)
- # we use the pre-built documentation and install these with USE=doc
- -DVTK_BUILD_DOCUMENTATION=OFF
- -DVTK_BUILD_EXAMPLES=$(usex examples ON OFF)
-
- -DVTK_ENABLE_KITS=$(usex kits ON OFF)
- # default to ON: USE flag for this?
- -DVTK_ENABLE_REMOTE_MODULES=OFF
-
- -DVTK_DATA_STORE="${S}/.ExternalData"
-
- # Use upstream default, where USE flags are not given.
- # Passing "DONT_WANT" will restrict building of modules from
- # those groups and will severly limit the built libraries.
- # Exceptions are MPI, where the default is "DONT_WANT" and
- # StandAlone using "WANT".
- -DVTK_GROUP_ENABLE_Imaging=$(usex imaging "WANT" "DEFAULT")
- -DVTK_GROUP_ENABLE_Qt=$(usex qt5 "WANT" "DEFAULT")
- -DVTK_GROUP_ENABLE_Rendering=$(usex rendering "WANT" "DEFAULT")
- -DVTK_GROUP_ENABLE_StandAlone="WANT"
- -DVTK_GROUP_ENABLE_Views=$(usex views "WANT" "DEFAULT")
- -DVTK_GROUP_ENABLE_Web=$(usex web "WANT" "DEFAULT")
-
- -DVTK_MODULE_ENABLE_VTK_vtkm="WANT"
- -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKm="WANT"
-
- -DVTK_PYTHON_VERSION="3"
- -DVTK_RELOCATABLE_INSTALL=ON
-
- -DVTK_USE_CUDA=$(usex cuda ON OFF)
- # use system libraries where possible
- -DVTK_USE_EXTERNAL=ON
- -DVTK_USE_MPI=$(usex mpi ON OFF)
- -DVTK_USE_TK=$(usex tk ON OFF)
- -DVTK_USE_X=$(usex X ON OFF)
-
- -DVTK_VERSIONED_INSTALL=ON
-
- -DVTK_WRAP_JAVA=$(usex java ON OFF)
- -DVTK_WRAP_PYTHON=$(usex python ON OFF)
- )
-
- if use examples || use test; then
- mycmakeargs+=( -DVTK_USE_LARGE_DATA=ON )
- fi
-
- if ! use java && ! use python; then
- # defaults to ON
- mycmakeargs+=( -DVTK_ENABLE_WRAPPING=OFF )
- fi
-
- if use boost; then
- mycmakeargs+=(
- -DVTK_MODULE_ENABLE_VTK_InfovisBoost="WANT"
- -DVTK_MODULE_ENABLE_VTK_InfovisBoostGraphAlgorithms="WANT"
- )
- fi
-
- if use cuda; then
- local cuda_arch=
- case ${VTK_CUDA_ARCH:-native} in
- # we ignore fermi arch, because current nvidia-cuda-toolkit-11*
- # no longer supports it
- kepler|maxwell|pascal|volta|turing|ampere|all)
- cuda_arch=${VTK_CUDA_ARCH}
- ;;
- native)
- ewarn "If auto detection fails for you, please try and export the"
- ewarn "VTK_CUDA_ARCH environment variable to one of the common arch"
- ewarn "names: kepler, maxwell, pascal, volta, turing, ampere or all."
- cuda_arch=native
- ;;
- *)
- eerror "Please properly set the VTK_CUDA_ARCH environment variable to"
- eerror "one of: kepler, maxwell, pascal, volta, turing, ampere, all"
- die "Invalid CUDA architecture given: '${VTK_CUDA_ARCH}'!"
- ;;
- esac
- ewarn "Using CUDA architecture '${cuda_arch}'"
-
- mycmakeargs+=( -DVTKm_CUDA_Architecture=${cuda_arch} )
- fi
-
- if use ffmpeg; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOFFMPEG="WANT" )
- fi
-
- if use gdal; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_GeovisGDAL="WANT" )
- fi
-
- if use java; then
- mycmakeargs+=(
- -DCMAKE_INSTALL_JARDIR="share/${PN}"
- -DVTK_ENABLE_WRAPPING=ON
- )
- fi
-
- if use json; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOGeoJSON="WANT" )
- fi
-
- if use mpi; then
- mycmakeargs+=(
- -DVTK_GROUP_ENABLE_MPI="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOH5part="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOParallel="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOParallelNetCDF="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOParallelXML="WANT"
- -DVTK_MODULE_ENABLE_VTK_ParallelMPI="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingParallel="WANT"
- -DVTK_MODULE_ENABLE_VTK_h5part="WANT"
- -DVTKm_ENABLE_MPI=ON
- )
- if use python; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ParallelMPI4Py="WANT" )
- fi
- fi
-
- if use mysql; then
- mycmakeargs+=(
- -DVTK_MODULE_ENABLE_VTK_IOMySQL="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOSQL="WANT"
- )
- fi
-
- if use odbc; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOODBC="WANT" )
- fi
-
- if use offscreen; then
- mycmakeargs+=(
- -DVTK_DEFAULT_RENDER_WINDOW_OFFSCREEN=ON
- -DVTK_DEFAULT_RENDER_WINDOW_HEADLESS=ON
- -DVTK_OPENGL_HAS_OSMESA=ON
- )
- fi
-
- if use openmp; then
- if use tbb; then
- einfo "NOTE: You have specified both openmp and tbb USE flags."
- einfo "NOTE: Tbb will take precedence. Disabling OpenMP"
- # Sequential is default SMP implementation, nothing special to do
- else
- mycmakeargs+=(
- -DVTK_SMP_IMPLEMENTATION_TYPE="OpenMP"
- -DVTKm_ENABLE_OPENMP=ON
- )
- fi
- fi
-
- if use pegtl; then
- mycmakeargs+=( -DVTK_MODULE_USE_EXTERNAL_VTK_pegtl=ON )
- else
- mycmakeargs+=( -DVTK_MODULE_USE_EXTERNAL_VTK_pegtl=OFF )
- fi
-
- if use postgres; then
- mycmakeargs+=(
- -DVTK_MODULE_ENABLE_VTK_IOPostgreSQL="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOSQL="WANT"
- )
- fi
-
- if use python; then
- mycmakeargs+=(
- -DVTK_ENABLE_WRAPPING=ON
- -DPython3_EXECUTABLE="${PYTHON}"
- -DVTK_PYTHON_SITE_PACKAGES_SUFFIX="lib/${EPYTHON}/site-packages"
- )
- fi
-
- if use qt5; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_GUISupportQt="WANT" )
- if use mysql || use postgres; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_GUISupportQtSQL="WANT" )
- fi
- if use rendering; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingQt="WANT" )
- fi
- if use views; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ViewsQt="WANT" )
- fi
- fi
-
- if use rendering || use web || use all-modules; then
- # needs patched version
- mycmakeargs+=( -DVTK_MODULE_USE_EXTERNAL_VTK_libharu=OFF )
- fi
-
- if use rendering; then
- mycmakeargs+=(
- -DVTK_MODULE_ENABLE_VTK_IOExportGL2PS="WANT"
- -DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=ON
- -DVTK_MODULE_USE_EXTERNAL_VTK_glew=ON
- -DVTK_MODULE_USE_EXTERNAL_VTK_libproj=ON
- )
- fi
-
- if use tbb; then
- mycmakeargs+=(
- -DVTK_SMP_IMPLEMENTATION_TYPE="TBB"
- -DVTKm_ENABLE_TBB=ON
- )
- fi
-
- if use test; then
- ewarn "Testing requires VTK_FORBID_DOWNLOADS=OFF by upstream."
- ewarn "Care has been taken to pre-download all required files."
- ewarn "In case you find missing files, please inform me."
- mycmakeargs+=(
- -DVTK_BUILD_TESTING=ON
- -DVTK_DATA_EXCLUDE_FROM_ALL=ON
- -DVTK_FORBID_DOWNLOADS=OFF
- )
- else
- mycmakeargs+=(
- -DVTK_BUILD_TESTING=OFF
- -DVTK_FORBID_DOWNLOADS=ON
- )
- fi
-
- if use theora; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOOggTheora="WANT" )
- fi
-
- if use all-modules; then
- mycmakeargs+=(
- -DVTK_ENABLE_OSPRAY=OFF
- -DVTK_MODULE_ENABLE_VTK_DomainsMicroscopy="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_FiltersOpenTURNS="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_IOADIOS2="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_IOPDAL="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_MomentInvariants="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_PoissonReconstruction="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_Powercrust="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingOpenVR="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_SignedTensor="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_SplineDrivenImageSlicer="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_vtkDICOM="DONT_WANT"
- -DVTK_MODULE_USE_EXTERNAL_vtkkissfft=ON
- )
- fi
-
- use java && export JAVA_HOME="${EPREFIX}/etc/java-config-2/current-system-vm"
-
- if use mpi; then
- export CC=mpicc
- export CXX=mpicxx
- export FC=mpif90
- export F90=mpif90
- export F77=mpif77
- fi
-
- cmake_src_configure
-}
-
-src_test() {
- nonfatal virtx cmake_src_test
-}
-
-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
-
- # with MPI runpath's are not deleted properly
- if use mpi; then
- chrpath -d "${ED}"/usr/$(get_libdir)/*.so.${PV} || die
- fi
-
- use python && python_optimize
-
- # environment
- cat >> "${T}"/40${PN} <<- EOF || die
- VTK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data
- VTK_DIR=${EPREFIX}/usr/$(get_libdir)/${PN}
- VTKHOME=${EPREFIX}/usr
- EOF
- doenvd "${T}"/40${PN}
-
- use web && webapp_src_install
-
- # Temporary!
- # Avoid collision with paraview.
- # bug #793221
- rm -rf "${ED}"/usr/share/vtkm-1.5/VTKm{LICENSE.txt,README.md} || die
-}
-
-# 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
-}
diff --git a/sci-libs/vtk/vtk-9.1.0-r6.ebuild b/sci-libs/vtk/vtk-9.1.0-r6.ebuild
deleted file mode 100644
index e781751ccfda..000000000000
--- a/sci-libs/vtk/vtk-9.1.0-r6.ebuild
+++ /dev/null
@@ -1,641 +0,0 @@
-# Copyright 1999-2023 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 once we bump to EAPI 8
-
-PYTHON_COMPAT=( python3_{9..10} )
-WEBAPP_OPTIONAL=yes
-WEBAPP_MANUAL_SLOT=yes
-
-inherit check-reqs cmake cuda java-pkg-opt-2 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
- https://www.vtk.org/files/release/${MY_PV}/VTKData-${PV}.tar.gz
- https://www.vtk.org/files/release/${MY_PV}/VTKDataFiles-${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}/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 ~amd64-linux ~x86-linux"
-# TODO: Like to simplifiy these. Mostly the flags related to Groups, plus
-# maybe some flags related to Kits and a few other needed flags.
-IUSE="all-modules +boost cuda debug doc examples +ffmpeg +gdal imaging java
- logging mpi mysql odbc openmp postgres python qt5 qt6 +rendering tbb test
- +threads tk video_cards_nvidia views web"
-
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
- all-modules? (
- boost ffmpeg gdal imaging mysql odbc postgres rendering views
- || ( qt5 qt6 )
- )
- cuda? ( video_cards_nvidia )
- java? ( rendering )
- python? ( ${PYTHON_REQUIRED_USE} )
- qt5? ( rendering )
- qt6? ( rendering )
- tk? ( rendering python )
- web? ( python )
-"
-
-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/libogg
- media-libs/libpng:=
- media-libs/libtheora
- media-libs/tiff:=
- >=sci-libs/cgnslib-4.1.1:=[hdf5,mpi=]
- sci-libs/hdf5:=[mpi=]
- sci-libs/netcdf:=[mpi=]
- sys-libs/zlib
- media-libs/libjpeg-turbo
- all-modules? ( sci-geosciences/liblas[gdal] )
- boost? ( dev-libs/boost:=[mpi?] )
- cuda? ( dev-util/nvidia-cuda-toolkit:= )
- ffmpeg? ( media-video/ffmpeg:= )
- gdal? ( sci-libs/gdal:= )
- java? ( >=virtual/jdk-1.8:* )
- mpi? (
- media-libs/glew:=
- sys-cluster/openmpi[cxx,romio]
- virtual/opengl
- )
- mysql? ( dev-db/mariadb-connector-c )
- odbc? ( dev-db/unixODBC )
- postgres? ( dev-db/postgresql:= )
- python? ( ${PYTHON_DEPS} )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtopengl:5
- dev-qt/qtquickcontrols2:5
- dev-qt/qtsql:5
- dev-qt/qtwidgets:5
- )
- qt6? (
- dev-qt/qtbase:6[gui,opengl,sql,widgets]
- dev-qt/qtdeclarative:6[opengl]
- dev-qt/qtshadertools:6
- )
- rendering? (
- media-libs/freeglut
- media-libs/glew:=
- media-libs/libsdl2
- sci-libs/proj:=
- virtual/opengl
- x11-libs/gl2ps
- x11-libs/libXcursor
- )
- tbb? ( <dev-cpp/tbb-2021.4.0:= )
- tk? ( dev-lang/tk:= )
- video_cards_nvidia? ( x11-drivers/nvidia-drivers[tools,static-libs] )
- views? (
- x11-libs/libICE
- x11-libs/libXext
- )
- web? ( ${WEBAPP_DEPEND} )
- python? (
- $(python_gen_cond_dep '
- boost? ( dev-libs/boost:=[mpi?,python?,${PYTHON_USEDEP}] )
- mpi? ( dev-python/mpi4py[${PYTHON_USEDEP}] )
- ')
- gdal? ( sci-libs/gdal:=[python?,${PYTHON_SINGLE_USEDEP}] )
- )
-"
-
-DEPEND="
- ${RDEPEND}
- dev-cpp/eigen
- <dev-libs/pegtl-3
- dev-libs/utfcpp
-"
-BDEPEND="
- virtual/pkgconfig
- mpi? ( app-admin/chrpath )
- test? (
- media-libs/glew
- virtual/opengl
- x11-libs/libXcursor
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-9.0.1-0001-fix-kepler-compute_arch-if-CUDA-toolkit-11-is-used.patch
- "${FILESDIR}"/${PN}-8.2.0-freetype-2.10.3-provide-FT_CALLBACK_DEF.patch
- "${FILESDIR}"/${PN}-9.0.3-IO-FFMPEG-support-FFmpeg-5.0-API-changes.patch
- "${FILESDIR}"/${P}-adjust-to-find-binaries.patch
- "${FILESDIR}"/${P}-avoid-naming-collision-with-netcdf-4.9.0.patch
- "${FILESDIR}"/${P}-Change-or-scope-struct-names-to-avoid-conflicts.patch
-)
-
-DOCS=( CONTRIBUTING.md README.md )
-
-# based on default settings
-CHECKREQS_DISK_BUILD="4G"
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && has openmp && tc-check-openmp
-
- if [[ $(tc-is-gcc) && $(gcc-majorversion) = 11 ]] && use cuda ; then
- # FIXME: better use eerror?
- ewarn "GCC 11 is know to fail building with CUDA support in some cases."
- ewarn "See bug #820593"
- fi
-
- if use examples || use doc; then
- CHECKREQS_DISK_BUILD="7G"
- fi
-
- if use examples && use doc; then
- CHECKREQS_DISK_BUILD="10G"
- fi
-
- if use cuda; then
- # NOTE: This should actually equal to (number of build jobs)*7G,
- # as any of the cuda compile tasks can take up 7G!
- # 10.2 GiB install directory, 6.4 GiB build directory with max. USE flags
- CHECKREQS_MEMORY="7G"
- CHECKREQS_DISK_BUILD="14G"
- if [[ ${VTK_CUDA_ARCH} = native ]]; then
- eerror "Using native CUDA arches is currently broken."
- eerror "Please set it to one of the common arch names:"
- eerror "kepler, maxwell, pascal, turing or ampere."
- die "Please set VTK_CUDA_ARCH environment variable!"
- fi
- fi
-
- if use qt6 && use qt5; then
- ewarn "Both qt5 and qt6 USE flags have been selected. Using qt5!"
- fi
-
- check-reqs_pkg_setup
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && has openmp && tc-check-openmp
-
- if [[ $(tc-is-gcc) && $(gcc-majorversion) = 11 ]] && use cuda ; then
- # FIXME: better use eerror?
- ewarn "GCC 11 is know to fail building with CUDA support in some cases."
- ewarn "See bug #820593"
- fi
-
- if use examples || use doc; then
- CHECKREQS_DISK_BUILD="7G"
- fi
-
- if use examples && use doc; then
- CHECKREQS_DISK_BUILD="10G"
- fi
-
- if use cuda; then
- CHECKREQS_MEMORY="7G"
- CHECKREQS_DISK_BUILD="14G"
- if [[ ${VTK_CUDA_ARCH} = native ]]; then
- eerror "Using native CUDA arches is currently broken."
- eerror "Please set it to one of the common arch names:"
- eerror "kepler, maxwell, pascal, turing or ampere."
- die "Please set VTK_CUDA_ARCH environment variable!"
- fi
- fi
-
- if use qt6 && use qt5; then
- ewarn "Both qt5 and qt6 USE flags have been selected. Using qt5!"
- fi
-
- check-reqs_pkg_setup
-
- use java && java-pkg-opt-2_pkg_setup
- use python && python-single-r1_pkg_setup
- use web && webapp_pkg_setup
-}
-
-src_prepare() {
- # If we have system libraries available use these and delete
- # the respecting files in ${S}/ThirdParty to save some space.
- # 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
- # Note: libharu is omitted: vtk needs an updated version (2.4.0)
- # Note: no valid mpi4py target found with system library
- # TODO: cli11 (::guru), exprtk, ioss
- local -a DROPS=( cgns doubleconversion eigen expat fmt freetype hdf5 jpeg jsoncpp
- libxml2 lz4 lzma netcdf ogg pegtl png pugixml sqlite theora tiff utf8
- zlib )
- use rendering && DROPS+=( gl2ps glew libproj )
-
- local x
- for x in ${DROPS[@]}; do
- ebegin "Dropping bundled ${x}"
- rm -r ThirdParty/${x}/vtk${x} || die
- eend $?
- done
- unset x
-
- 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 cuda; then
- cuda_add_sandbox -w
- cuda_src_prepare
- fi
-
- 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 ../../VTK-${PV}/.ExternalData/README.rst . || die
- ln -sf ../../VTK-${PV}/.ExternalData/SHA512 . || die
- popd >/dev/null || die
- eend "$?"
- fi
-}
-
-src_configure() {
-# TODO: check these and consider to use them
-# VTK_BUILD_SCALED_SOA_ARRAYS
-# VTK_DISPATCH_{AOS,SOA,TYPED}_ARRAYS
-
- local mycmakeargs=(
- -DVTK_ANDROID_BUILD=OFF
- -DVTK_IOS_BUILD=OFF
-
- -DVTK_BUILD_ALL_MODULES=$(usex all-modules ON OFF)
- # we use the pre-built documentation and install these with USE=doc
- -DVTK_BUILD_DOCUMENTATION=OFF
- -DVTK_BUILD_EXAMPLES=$(usex examples ON OFF)
-
- -DVTK_ENABLE_KITS=ON
- -DVTK_ENABLE_LOGGING=$(usex logging ON OFF)
- # defaults to ON: USE flag for this?
- -DVTK_ENABLE_REMOTE_MODULES=OFF
-
- -DVTK_GROUP_ENABLE_Imaging=$(usex imaging "YES" "DONT_WANT")
- -DVTK_GROUP_ENABLE_Rendering=$(usex rendering "YES" "DONT_WANT")
- -DVTK_GROUP_ENABLE_StandAlone="YES"
- -DVTK_GROUP_ENABLE_Views=$(usex views "YES" "DONT_WANT")
- -DVTK_GROUP_ENABLE_Web=$(usex web "YES" "DONT_WANT")
-
- -DVTK_INSTALL_SDK=ON
-
- -DVTK_MODULE_ENABLE_VTK_IOGeoJSON="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOOggTheora="WANT"
- -DVTK_MODULE_ENABLE_VTK_fmt="YES"
- -DVTK_MODULE_ENABLE_VTK_vtkm="WANT"
-
- # not packaged in Gentoo
- -DVTK_MODULE_USE_EXTERNAL_VTK_exprtk=OFF
- -DVTK_MODULE_USE_EXTERNAL_VTK_ioss=OFF
-
- -DVTK_RELOCATABLE_INSTALL=ON
-
- -DVTK_SMP_ENABLE_OPENMP=$(usex openmp ON OFF)
- -DVTK_SMP_ENABLE_STDTHREAD=$(usex threads ON OFF)
- -DVTK_SMP_ENABLE_TBB=$(usex tbb ON OFF)
-
- -DVTK_USE_CUDA=$(usex cuda ON OFF)
- # use system libraries where possible
- -DVTK_USE_EXTERNAL=ON
- -DVTK_USE_MPI=$(usex mpi ON OFF)
- -DVTK_USE_TK=$(usex tk ON OFF)
- -DVTK_USE_X=ON
-
- -DVTK_WRAP_JAVA=$(usex java ON OFF)
- -DVTK_WRAP_PYTHON=$(usex python ON OFF)
- )
-
- if use all-modules; then
- mycmakeargs+=(
- -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="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_fides="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_FiltersOpenTURNS="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_IOADIOS2="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_IOFides="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_IOOpenVDB="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_IOPDAL="DONT_WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingOpenVR="DONT_WANT"
-
- # available in ::guru, so avoid detection if installed
- -DVTK_MODULE_USE_EXTERNAL_VTK_cli11=OFF
- )
- fi
-
- # TODO: consider removing USE flags and enable by default
- if use boost; then
- mycmakeargs+=(
- -DVTK_MODULE_ENABLE_VTK_InfovisBoost="WANT"
- -DVTK_MODULE_ENABLE_VTK_InfovisBoostGraphAlgorithms="WANT"
- )
- fi
-
- # TODO: checks this on updates of nvidia-cuda-toolkit and update
- # the list of available arches if necessary, i.e. add new arches
- # once they are released at the end of the list before all.
- # See https://en.wikipedia.org/wiki/CUDA#GPUs_supported
- if use cuda; then
- local cuda_arch=
- case ${VTK_CUDA_ARCH:-native} in
- # we ignore fermi arch, because current nvidia-cuda-toolkit-11*
- # no longer supports it
- kepler|maxwell|pascal|volta|turing|ampere|all)
- cuda_arch=${VTK_CUDA_ARCH}
- ;;
- native)
- ewarn "If auto detection fails for you, please try and export the"
- ewarn "VTK_CUDA_ARCH environment variable to one of the common arch"
- ewarn "names: kepler, maxwell, pascal, volta, turing, ampere or all."
- cuda_arch=native
- ;;
- *)
- eerror "Please properly set the VTK_CUDA_ARCH environment variable to"
- eerror "one of: kepler, maxwell, pascal, volta, turing, ampere, all"
- die "Invalid CUDA architecture given: '${VTK_CUDA_ARCH}'!"
- ;;
- esac
- ewarn "Using CUDA architecture '${cuda_arch}'"
-
- mycmakeargs+=( -DVTKm_CUDA_Architecture=${cuda_arch} )
- fi
-
- if use debug; then
- mycmakeargs+=(
- -DVTK_DEBUG_LEAKS=ON
- -DVTK_DEBUG_MODULE=ON
- -DVTK_DEBUG_MODLE_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
-
- # TODO: consider removing the USE flag and enable by default
- if use ffmpeg; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOFFMPEG="WANT" )
- fi
-
- # TODO: consider removing the USE flag and enable by default
- if use gdal; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_GeovisGDAL="WANT" )
- 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
- )
- fi
-
- if use mpi; then
- mycmakeargs+=(
- -DVTK_GROUP_ENABLE_MPI="YES"
- -DVTK_MODULE_ENABLE_VTK_IOH5part="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOParallel="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOParallelNetCDF="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOParallelXML="WANT"
- -DVTK_MODULE_ENABLE_VTK_ParallelMPI="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingParallel="WANT"
- -DVTK_MODULE_ENABLE_VTK_h5part="WANT"
- -DVTKm_ENABLE_MPI=ON
- )
- if use python; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ParallelMPI4Py="WANT" )
- fi
- fi
-
- if use mysql; then
- mycmakeargs+=(
- -DVTK_MODULE_ENABLE_VTK_IOMySQL="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOSQL="WANT"
- )
- fi
-
- if use odbc; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOODBC="WANT" )
- fi
-
- if use postgres; then
- mycmakeargs+=(
- -DVTK_MODULE_ENABLE_VTK_IOPostgreSQL="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOSQL="WANT"
- )
- fi
-
- if use python; then
- mycmakeargs+=(
- -DVTK_ENABLE_WRAPPING=ON
- -DPython3_EXECUTABLE="${PYTHON}"
- -DVTK_PYTHON_SITE_PACKAGES_SUFFIX="lib/${EPYTHON}/site-packages"
- )
- fi
-
- if use qt5 && use qt6; then
- # prefer Qt5: https://wiki.gentoo.org/wiki/Project:qt/Policies
- mycmakeargs+=(
- -DCMAKE_INSTALL_QMLDIR="/usr/$(get_libdir)/qt5/qml"
- -DVTK_QT_VERSION="5"
- )
- else
- if use qt5; then
- mycmakeargs+=(
- -DCMAKE_INSTALL_QMLDIR="/usr/$(get_libdir)/qt5/qml"
- -DVTK_QT_VERSION="5"
- )
- elif use qt6; then
- mycmakeargs+=(
- -DCMAKE_INSTALL_QMLDIR="/usr/$(get_libdir)/qt6/qml"
- -DVTK_QT_VERSION="6"
- )
- else
- mycmakeargs+=( -DVTK_GROUP_ENABLE_Qt="DONT_WANT" )
- fi
- fi
-
- if use qt5 || use qt6; then
- mycmakeargs+=(
- -DVTK_GROUP_ENABLE_Qt:STRING="YES"
- -DVTK_MODULE_ENABLE_VTK_GUISupportQt="WANT"
- )
- if use mysql || use postgres; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_GUISupportQtSQL="WANT" )
- fi
- if use rendering; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingQt="WANT" )
- fi
- if use views; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ViewsQt="WANT" )
- fi
- fi
-
- if use rendering || use test || use web || use all-modules; then
- # needs patched version
- mycmakeargs+=( -DVTK_MODULE_USE_EXTERNAL_VTK_libharu=OFF )
- fi
-
- if use rendering; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOExportGL2PS="WANT" )
- fi
-
- if use test; then
- ewarn "Testing requires VTK_FORBID_DOWNLOADS=OFF by upstream."
- ewarn "Care has been taken to pre-download all required files."
- ewarn "In case you find missing files, please inform me."
- mycmakeargs+=(
- -DVTK_BUILD_TESTING=ON
- -DVTK_FORBID_DOWNLOADS=OFF
-
- -DVTK_MODULE_ENABLE_VTK_octree="WANT"
- -DVTK_MODULE_ENABLE_VTK_ViewsCore="WANT"
-
- # available in ::guru, so avoid detection if installed
- -DVTK_MODULE_USE_EXTERNAL_VTK_cli11=OFF
- )
- else
- mycmakeargs+=(
- -DVTK_BUILD_TESTING=OFF
- -DVTK_FORBID_DOWNLOADS=ON
- )
- 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 < stdpthread < 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
- 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 java && export JAVA_HOME="${EPREFIX}/etc/java-config-2/current-system-vm"
-
- if use mpi; then
- export CC=mpicc
- export CXX=mpicxx
- export FC=mpif90
- export F90=mpif90
- export F77=mpif77
- fi
-
- cmake_src_configure
-}
-
-# FIXME: avoid nonfatal?
-# see https://github.com/gentoo/gentoo/pull/22878#discussion_r747204043
-src_test() {
-# nonfatal virtx cmake_src_test
- virtx cmake_src_test
-}
-
-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
-
- # with MPI runpath's are not deleted properly
- if use mpi; then
- chrpath -d "${ED}"/usr/$(get_libdir)/*.so.${PV} || die
- fi
-
- use python && python_optimize
-
- use web && webapp_src_install
-
- # Temporary!
- # Avoid collision with paraview.
- # bug #793221
- rm -rf "${ED}"/usr/share/vtkm-1.5/VTKm{LICENSE.txt,README.md} || die
-}
-
-# 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
-}
diff --git a/sci-libs/vtk/vtk-9.2.2-r1.ebuild b/sci-libs/vtk/vtk-9.2.2-r1.ebuild
deleted file mode 100644
index cd85af34661c..000000000000
--- a/sci-libs/vtk/vtk-9.2.2-r1.ebuild
+++ /dev/null
@@ -1,748 +0,0 @@
-# Copyright 1999-2023 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_{9..10} )
-WEBAPP_OPTIONAL=yes
-WEBAPP_MANUAL_SLOT=yes
-
-inherit check-reqs cmake cuda 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
- https://www.vtk.org/files/release/${MY_PV}/VTKData-${PV}.tar.gz
- https://www.vtk.org/files/release/${MY_PV}/VTKDataFiles-${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}/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 ~amd64-linux ~x86-linux"
-# TODO: Like to simplifiy these. Mostly the flags related to Groups.
-IUSE="all-modules boost cuda debug doc examples ffmpeg freetype gdal imaging
- java las +logging mpi mysql odbc openmp openvdb pdal postgres python qt5
- qt6 +rendering sdl tbb test +threads tk video_cards_nvidia views vtkm web"
-
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
- all-modules? (
- boost ffmpeg freetype gdal imaging las mysql odbc openvdb pdal
- postgres rendering views
- )
- cuda? ( video_cards_nvidia vtkm )
- java? ( rendering )
- python? ( ${PYTHON_REQUIRED_USE} )
- qt5? ( rendering )
- qt6? ( rendering )
- sdl? ( rendering )
- tk? ( python rendering )
- web? ( python )
-"
-
-# for <pegtl-3 dependency see
-# https://discourse.vtk.org/t/compilation-errors-related-to-pegtl-proj/5929
-# 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-cpp/eigen
- dev-cpp/nlohmann_json
- 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/pegtl-3
- dev-libs/pugixml
- dev-libs/utfcpp
- media-libs/freetype
- media-libs/libjpeg-turbo
- >=media-libs/libharu-2.4.2:=
- media-libs/libogg
- media-libs/libpng:=
- media-libs/libtheora
- media-libs/tiff:=
- >=sci-libs/cgnslib-4.1.1:=[hdf5,mpi=]
- sci-libs/hdf5:=[mpi=]
- sci-libs/proj:=
- sci-libs/netcdf:=[mpi=]
- sys-libs/zlib
- boost? ( dev-libs/boost:=[mpi?] )
- cuda? ( dev-util/nvidia-cuda-toolkit:= )
- ffmpeg? ( media-video/ffmpeg:= )
- freetype? ( media-libs/fontconfig )
- gdal? ( sci-libs/gdal:= )
- java? ( >=virtual/jdk-1.8:* )
- las? ( sci-geosciences/liblas )
- mpi? ( virtual/mpi[cxx,romio] )
- mysql? ( dev-db/mariadb-connector-c )
- odbc? ( dev-db/unixODBC )
- openvdb? ( media-gfx/openvdb:= )
- pdal? ( sci-libs/pdal:= )
- postgres? ( dev-db/postgresql:= )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep 'mpi? ( dev-python/mpi4py[${PYTHON_USEDEP}] )')
- )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtopengl:5
- dev-qt/qtquickcontrols2:5
- dev-qt/qtsql:5
- dev-qt/qtwidgets:5
- )
- qt6? (
- dev-qt/qtbase:6[gui,opengl,sql,widgets]
- dev-qt/qtdeclarative:6[opengl]
- dev-qt/qtshadertools:6
- x11-libs/libxkbcommon
- )
- sdl? ( media-libs/libsdl2 )
- rendering? (
- media-libs/glew:=
- virtual/opengl
- x11-libs/gl2ps
- x11-libs/libICE
- x11-libs/libXcursor
- x11-libs/libXext
- )
- tbb? ( dev-cpp/tbb:= )
- tk? ( dev-lang/tk:= )
- video_cards_nvidia? ( x11-drivers/nvidia-drivers[tools,static-libs] )
- views? (
- x11-libs/libICE
- x11-libs/libXext
- )
- web? ( ${WEBAPP_DEPEND} )
-"
-
-# for <pegtl-3 dependency see
-# https://discourse.vtk.org/t/compilation-errors-related-to-pegtl-proj/5929
-DEPEND="
- ${RDEPEND}
- 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.2-vtkGeometryFilter-add-missing-mutex-header-file.patch
- "${FILESDIR}"/${PN}-9.2.2-VTKm-respect-user-CXXFLAGS.patch
- "${FILESDIR}"/${PN}-9.2.2-link-with-glut-library-for-freeglut.patch
-)
-
-DOCS=( CONTRIBUTING.md README.md )
-
-vtk_check_reqs() {
- local dsk=4096
- local mem=$(( $(usex cuda 7168 0) ))
-
- dsk=$(( $(usex doc 3072 0) + ${dsk} ))
- dsk=$(( $(usex examples 3072 0) + ${dsk} ))
- dsk=$(( $(usex cuda 8192 0) + ${dsk} ))
-
- # 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)")
- else
- if [[ -n "${MAKEOPTS}" ]]; then
- jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
- fi
- fi
- mem=$(( ${mem} * ${jobs} ))
-
- use cuda && export CHECKREQS_MEMORY=${mem}M
- export CHECKREQS_DISK_BUILD=${dsk}M
-
- check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && has openmp && tc-check-openmp
-
- if [[ $(tc-is-gcc) && $(gcc-majorversion) = 11 ]] && use cuda ; then
- # FIXME: better use eerror?
- ewarn "GCC 11 is know to fail building with CUDA support in some cases."
- ewarn "See bug #820593"
- fi
-
- if use qt6 && use qt5; then
- ewarn "Both qt5 and qt6 USE flags have been selected. Using qt5!"
- fi
-
- # bug #835659
- if use cuda; then
- if [[ ${VTK_CUDA_ARCH} = native ]]; then
- eerror "Using native CUDA arches is currently broken."
- eerror "Please set it to one of the common arch names:"
- eerror "kepler, maxwell, pascal, turing or ampere."
- die "Please set VTK_CUDA_ARCH environment variable!"
- fi
- fi
-
- vtk_check_reqs
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && has openmp && tc-check-openmp
-
- if [[ $(tc-is-gcc) && $(gcc-majorversion) = 11 ]] && use cuda ; then
- # FIXME: better use eerror?
- ewarn "GCC 11 is know to fail building with CUDA support in some cases."
- ewarn "See bug #820593"
- fi
-
- if use qt6 && use qt5; then
- ewarn "Both qt5 and qt6 USE flags have been selected. Using qt5!"
- fi
-
- # bug #835659
- if use cuda; then
- if [[ ${VTK_CUDA_ARCH} = native ]]; then
- eerror "Using native CUDA arches is currently broken."
- eerror "Please set it to one of the common arch names:"
- eerror "kepler, maxwell, pascal, turing or ampere."
- die "Please set VTK_CUDA_ARCH environment variable!"
- fi
- fi
-
- vtk_check_reqs
-
- 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
-# Note: no valid mpi4py target found with system library --> CHECK!!
-# TODO: cli11 (::guru), 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 cuda; then
- cuda_add_sandbox -w
- cuda_src_prepare
- fi
-
- 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 ../../VTK-${PV}/.ExternalData/README.rst . || die
- ln -sf ../../VTK-${PV}/.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() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_LICENSEDIR="share/${PN}/licenses"
-
- -DVTK_ANDROID_BUILD=OFF
- -DVTK_IOS_BUILD=OFF
-
- -DVTK_BUILD_ALL_MODULES=$(usex all-modules ON OFF)
- # we use the pre-built documentation and install these with USE=doc
- -DVTK_BUILD_DOCUMENTATION=OFF
- -DVTK_BUILD_EXAMPLES=$(usex examples ON OFF)
-
- # no package in the tree: https://github.com/LLNL/conduit
- -DVTK_ENABLE_CATALYST=OFF
- -DVTK_ENABLE_KITS=OFF
- -DVTK_ENABLE_LOGGING=$(usex logging ON OFF)
- # defaults to ON: USE flag for this?
- -DVTK_ENABLE_REMOTE_MODULES=OFF
-
- -DVTK_GROUP_ENABLE_Imaging=$(usex imaging "YES" "DEFAULT")
- -DVTK_GROUP_ENABLE_Rendering=$(usex rendering "YES" "DEFAULT")
- -DVTK_GROUP_ENABLE_StandAlone="YES"
- -DVTK_GROUP_ENABLE_Views=$(usex views "YES" "DEFAULT")
- -DVTK_GROUP_ENABLE_Web=$(usex web "YES" "DEFAULT")
-
- -DVTK_INSTALL_SDK=ON
-
- -DVTK_MODULE_ENABLE_VTK_IOCGNSReader="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOExportPDF="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOLAS=$(usex las "WANT" "DEFAULT")
- -DVTK_MODULE_ENABLE_VTK_IONetCDF="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOOggTheora="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOOpenVDB=$(usex openvdb "WANT" "DEFAULT")
- -DVTK_MODULE_ENABLE_VTK_IOSQL="WANT" # sqlite
- -DVTK_MODULE_ENABLE_VTK_IOPDAL=$(usex pdal "WANT" "DEFAULT")
- -DVTK_MODULE_ENABLE_VTK_IOXML="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOXMLParser="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingFreeType=$(usex freetype "WANT" "DEFAULT")
- -DVTK_MODULE_ENABLE_VTK_RenderingFreeTypeFontConfig=$(usex freetype "WANT" "DEFAULT")
- -DVTK_MODULE_ENABLE_VTK_cgns="WANT"
- -DVTK_MODULE_ENABLE_VTK_doubleconversion="WANT"
- -DVTK_MODULE_ENABLE_VTK_eigen="WANT"
- -DVTK_MODULE_ENABLE_VTK_expat="WANT"
- -DVTK_MODULE_ENABLE_VTK_fmt="WANT"
- -DVTK_MODULE_ENABLE_VTK_freetype="WANT"
- -DVTK_MODULE_ENABLE_VTK_hdf5="WANT"
- -DVTK_MODULE_ENABLE_VTK_jpeg="WANT"
- -DVTK_MODULE_ENABLE_VTK_jsoncpp="WANT"
- -DVTK_MODULE_ENABLE_VTK_libharu="WANT"
- -DVTK_MODULE_ENABLE_VTK_libproj="WANT"
- -DVTK_MODULE_ENABLE_VTK_libxml2="WANT"
- -DVTK_MODULE_ENABLE_VTK_lz4="WANT"
- -DVTK_MODULE_ENABLE_VTK_lzma="WANT"
- -DVTK_MODULE_ENABLE_VTK_netcdf="WANT"
- -DVTK_MODULE_ENABLE_VTK_nlohmannjson="WANT"
- -DVTK_MODULE_ENABLE_VTK_ogg="WANT"
- -DVTK_MODULE_ENABLE_VTK_pegtl="WANT"
- -DVTK_MODULE_ENABLE_VTK_png="WANT"
- -DVTK_MODULE_ENABLE_VTK_pugixml="WANT"
- -DVTK_MODULE_ENABLE_VTK_sqlite="WANT"
- -DVTK_MODULE_ENABLE_VTK_theora="WANT"
- -DVTK_MODULE_ENABLE_VTK_tiff="WANT"
- -DVTK_MODULE_ENABLE_VTK_utf8="WANT"
- -DVTK_MODULE_ENABLE_VTK_vtkm=$(usex vtkm "WANT" "DEFAULT")
- -DVTK_MODULE_ENABLE_VTK_zlib="WANT"
-
- # not packaged in Gentoo
- -DVTK_MODULE_USE_EXTERNAL_VTK_exprtk=OFF
- -DVTK_MODULE_USE_EXTERNAL_VTK_ioss=OFF
- -DVTK_MODULE_USE_EXTERNAL_VTK_verdict=OFF
-
- -DVTK_RELOCATABLE_INSTALL=ON
-
- -DVTK_SMP_ENABLE_OPENMP=$(usex openmp ON OFF)
- -DVTK_SMP_ENABLE_STDTHREAD=$(usex threads ON OFF)
- -DVTK_SMP_ENABLE_TBB=$(usex tbb ON OFF)
-
- -DVTK_UNIFIED_INSTALL_TREE=ON
-
- -DVTK_USE_CUDA=$(usex cuda ON OFF)
- # 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 ON OFF)
- -DVTK_USE_TK=$(usex tk ON OFF)
- -DVTK_USE_X=ON
-
- -DVTK_WHEEL_BUILD=OFF
-
- -DVTK_WRAP_JAVA=$(usex java ON OFF)
- -DVTK_WRAP_PYTHON=$(usex python ON OFF)
- )
-
- 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"
-
- # available in ::guru, so avoid detection if installed
- -DVTK_MODULE_USE_EXTERNAL_VTK_cli11=OFF
- )
- fi
-
- if use boost; then
- mycmakeargs+=(
- -DVTK_MODULE_ENABLE_VTK_InfovisBoost="WANT"
- -DVTK_MODULE_ENABLE_VTK_InfovisBoostGraphAlgorithms="WANT"
- )
- fi
-
- # TODO: checks this on updates of nvidia-cuda-toolkit and update
- # the list of available arches if necessary, i.e. add new arches
- # once they are released at the end of the list before all.
- # See https://en.wikipedia.org/wiki/CUDA#GPUs_supported
- if use cuda; then
- local cuda_arch=
- case ${VTK_CUDA_ARCH:-native} in
- # we ignore fermi arch, because current nvidia-cuda-toolkit-11*
- # no longer supports it
- kepler|maxwell|pascal|volta|turing|ampere|all)
- cuda_arch=${VTK_CUDA_ARCH}
- ;;
-# native)
-# ewarn "If auto detection fails for you, please try and export the"
-# ewarn "VTK_CUDA_ARCH environment variable to one of the common arch"
-# ewarn "names: kepler, maxwell, pascal, volta, turing, ampere or all."
-# cuda_arch=native
-# ;;
- *)
- eerror "Please properly set the VTK_CUDA_ARCH environment variable to"
- eerror "one of: kepler, maxwell, pascal, volta, turing, ampere, all"
- die "Invalid CUDA architecture given: '${VTK_CUDA_ARCH}'!"
- ;;
- esac
- ewarn "Using CUDA architecture '${cuda_arch}'"
-
- mycmakeargs+=( -DVTKm_CUDA_Architecture=${cuda_arch} )
- 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="WANT" )
- if use rendering; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingFFMPEGOpenGL2="WANT" )
- fi
- fi
-
- if use gdal; then
- mycmakeargs+=(
- -DVTK_MODULE_ENABLE_VTK_GeovisGDAL="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOGDAL="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOGeoJSON="WANT"
- )
- fi
-
- if use imaging; then
- mycmakeargs+=(
- -DVTK_MODULE_ENABLE_VTK_ImagingColor="WANT"
- -DVTK_MODULE_ENABLE_VTK_ImagingCore="WANT"
- -DVTK_MODULE_ENABLE_VTK_ImagingFourier="WANT"
- -DVTK_MODULE_ENABLE_VTK_ImagingGeneral="WANT"
- -DVTK_MODULE_ENABLE_VTK_ImagingHybrid="WANT"
- -DVTK_MODULE_ENABLE_VTK_ImagingMath="WANT"
- -DVTK_MODULE_ENABLE_VTK_ImagingMorphological="WANT"
- -DVTK_MODULE_ENABLE_VTK_ImagingOpenGL2="WANT"
- -DVTK_MODULE_ENABLE_VTK_ImagingSources="WANT"
- -DVTK_MODULE_ENABLE_VTK_ImagingStatistics="WANT"
- -DVTK_MODULE_ENABLE_VTK_ImagingStencil="WANT"
- )
- use rendering && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingImage="WANT" )
- 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="WANT"
- )
- fi
-
- if use mpi; then
- mycmakeargs+=(
- -DVTK_GROUP_ENABLE_MPI="YES"
- -DVTK_MODULE_ENABLE_VTK_IOH5part="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOMPIParallel="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOParallel="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOParallelNetCDF="WANT"
- -DVTK_MODULE_ENABLE_VTK_IOParallelXML="WANT"
- -DVTK_MODULE_ENABLE_VTK_ParallelMPI="WANT"
- -DVTK_MODULE_ENABLE_VTK_h5part="WANT"
- -DVTK_MODULE_USE_EXTERNAL_VTK_verdict=OFF
- )
- use imaging && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOMPIImage="WANT" )
- use python && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ParallelMPI4Py="WANT" )
- if use rendering; then
- mycmakeargs+=(
- -DVTK_MODULE_ENABLE_VTK_RenderingParallel="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingParallelLIC="WANT"
- )
- fi
- use vtkm && mycmakeargs+=( -DVTKm_ENABLE_MPI=ON )
- else
- mycmakeargs+=( -DVTK_GROUP_ENABLE_MPI="NO" )
- fi
-
- use mysql && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOMySQL="WANT" )
- use odbc && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOODBC="WANT" )
- use openvdb && mycmakeargs+=( -DOpenVDB_CMAKE_PATH="${ESYSROOT}/usr/$(get_libdir)/cmake/OpenVDB" )
- use postgres && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOPostgreSQL="WANT" )
-
- if use python; then
- mycmakeargs+=(
- -DPython3_EXECUTABLE="${PYTHON}"
- -DVTK_ENABLE_WRAPPING=ON
- -DVTK_MODULE_ENABLE_VTK_Python="WANT"
- -DVTK_MODULE_ENABLE_VTK_PythonInterpreter="WANT"
- -DVTK_MODULE_ENABLE_VTK_WrappingPythonCore="WANT"
- -DVTK_PYTHON_SITE_PACKAGES_SUFFIX="lib/${EPYTHON}/site-packages"
- )
- use rendering && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_PythonContext2D="WANT" )
- fi
-
- if use qt5 && use qt6; then
- # prefer Qt5: https://wiki.gentoo.org/wiki/Project:qt/Policies
- mycmakeargs+=(
- -DCMAKE_INSTALL_QMLDIR="${EPREFIX}/usr/$(get_libdir)/qt5/qml"
- -DVTK_QT_VERSION="5"
- )
- else
- if use qt5; then
- mycmakeargs+=(
- -DCMAKE_INSTALL_QMLDIR="${EPREFIX}/usr/$(get_libdir)/qt5/qml"
- -DVTK_QT_VERSION="5"
- )
- elif use qt6; then
- mycmakeargs+=(
- -DCMAKE_INSTALL_QMLDIR="${EPFREIX}/usr/$(get_libdir)/qt6/qml"
- -DVTK_QT_VERSION="6"
- )
- else
- mycmakeargs+=( -DVTK_GROUP_ENABLE_Qt="NO" )
- fi
- fi
-
- if use qt5 || use qt6; then
- mycmakeargs+=(
- -DVTK_GROUP_ENABLE_Qt:STRING="YES"
- -DVTK_MODULE_ENABLE_VTK_GUISupportQt="WANT"
- -DVTK_MODULE_ENABLE_VTK_GUISupportQtQuick="WANT"
- )
- if use mysql || use postgres; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_GUISupportQtSQL="WANT" )
- fi
- if use rendering; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingQt="WANT" )
- fi
- if use views; then
- mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ViewsQt="WANT" )
- fi
- fi
-
- if use rendering; then
- mycmakeargs+=(
- -DVTK_ENABLE_OSPRAY=OFF
-
- -DVTK_MODULE_ENABLE_VTK_IOExportGL2PS="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingAnnotation="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingContext2D="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingContextOpenGL2="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingCore="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingExternal="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingGL2PSOpenGL2="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingHyperTreeGrid="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingLICOpenGL2="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingLOD="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingLabel="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingMatplotlib="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingOpenGL2="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingRayTracing="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingSceneGraph="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingUI="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingVolume="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingVolumeAMR="WANT"
- -DVTK_MODULE_ENABLE_VTK_RenderingVolumeOpenGL2="WANT"
- -DVTK_MODULE_ENABLE_VTK_gl2ps="WANT"
- -DVTK_MODULE_ENABLE_VTK_glew="WANT"
- -DVTK_MODULE_ENABLE_VTK_opengl="WANT"
-
- -DVTK_USE_SDL2=$(usex sdl "YES" "NO")
- )
- use tk && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingTk="WANT" )
- use views && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ViewsContext2D="WANT" )
- use web && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingVtkJS="WANT" )
- fi
-
- if use test; then
- ewarn "Testing requires VTK_FORBID_DOWNLOADS=OFF by upstream."
- ewarn "Care has been taken to pre-download all required files."
- ewarn "In case you find missing files, please inform me."
- mycmakeargs+=(
- -DVTK_BUILD_TESTING=ON
- -DVTK_FORBID_DOWNLOADS=OFF
-
- # requested even if all use flags are off
- -DVTK_MODULE_ENABLE_VTK_octree="WANT"
- -DVTK_MODULE_ENABLE_VTK_ViewsCore="WANT"
-
- # available in ::guru, so avoid detection if installed
- -DVTK_MODULE_USE_EXTERNAL_VTK_cli11=OFF
- )
- else
- mycmakeargs+=(
- -DVTK_BUILD_TESTING=OFF
- -DVTK_FORBID_DOWNLOADS=ON
- )
- 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 < stdpthread < 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
- 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="WANT"
- -DVTK_MODULE_ENABLE_VTK_ViewsInfovis="WANT"
- )
- fi
-
- if use vtkm; then
- mycmakeargs+=(
- -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmCore="WANT"
- -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmDataModel="WANT"
- -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmFilters="WANT"
-
-# -DVTKm_ENABLE_DEVELOPER_FLAGS=OFF
-# -DVTKm_ENABLE_HDF5_IO=ON
-
- -DVTKm_NO_INSTALL_README_LICENSE=ON # bug #793221
- -DVTKm_Vectorization=native
- )
- fi
-
- if use web; then
- mycmakeargs+=(
- -DVTK_MODULE_ENABLE_VTK_WebCore="WANT"
- -DVTK_MODULE_ENABLE_VTK_WebGLExporter="WANT"
- )
- use python && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_WebPython="WANT" )
- fi
-
- use java && export JAVA_HOME="${EPREFIX}/etc/java-config-2/current-system-vm"
-
-# FIXME: looks like it's not needed, builts with USE=mpi and gcc
-# if use mpi; then
-# export CC=mpicc
-# export CXX=mpicxx
-# export FC=mpif90
-# export F90=mpif90
-# export F77=mpif77
-# fi
-
- cmake_src_configure
-}
-
-# FIXME: avoid nonfatal?
-# see https://github.com/gentoo/gentoo/pull/22878#discussion_r747204043
-src_test() {
-# nonfatal virtx cmake_src_test
- virtx cmake_src_test
-}
-
-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
-}