diff options
author | Bernd Waibel <waebbl-gentoo@posteo.net> | 2023-03-05 10:50:49 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-03-07 07:57:00 +0000 |
commit | 19fd814a57cb65fcc57072f9576b05ebc19491ad (patch) | |
tree | 4e6b22750f2e905cf0b8f6ca6c19df040ae8855f /sci-libs/vtk | |
parent | dev-libs/rocm-comgr: Fix comgr and mesa LLVM option collision (diff) | |
download | gentoo-19fd814a57cb65fcc57072f9576b05ebc19491ad.tar.gz gentoo-19fd814a57cb65fcc57072f9576b05ebc19491ad.tar.bz2 gentoo-19fd814a57cb65fcc57072f9576b05ebc19491ad.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>
Diffstat (limited to 'sci-libs/vtk')
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 -} |