-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Recipe for VTK #10776
Closed
Closed
Recipe for VTK #10776
Changes from 52 commits
Commits
Show all changes
132 commits
Select commit
Hold shift + click to select a range
277d84e
Package VTK, first pass.
paulharris ecd76e1
Move patch code into build() step
paulharris b8e19f9
Exported cmake variable to help test_package link
paulharris 0d27216
Fixes to patching (not copying source)
paulharris 357c287
Quotes in conandata.yml
paulharris 883f32a
Support old Conan CI, and more component hacks
paulharris 75d473d
Hack, add all lib list for one last scenario
paulharris a72bb6e
Set a specific cmake version requirement
paulharris c2fdc7a
Fixes as suggested on GH
paulharris 0e4b7e1
Fixup freetype to work with preferconfig=true
paulharris cefb31d
Use conan EXPAT
paulharris 4ebeaca
More attempts
paulharris 2fedad5
Working again
paulharris 2c9139b
Tweak package naming
paulharris f66c86f
No longer export VTK cmake files
paulharris 460b048
Auto-detect modules from library files. Cleaned up component list.
paulharris a1f3cdd
build_requires --> tool_requires
paulharris 4edf3d9
Trying to fix build overrides
paulharris 7d0dd36
why wont it work
paulharris 413748c
weird...
paulharris df97aaf
fiddle
paulharris 14af1a1
Tweak to test_package
paulharris 5118936
More requirements. Has problem with cmake+openssl+libcurl
paulharris 89eef73
Require minimum compiler, and workaround conan dep bug
paulharris 77f5e9f
Fixes for compiler plus HDF5 plus Theora
paulharris cebe686
Try to diagnose apple-clang issue
paulharris 5383148
More dependency external support
paulharris ba03266
Minor fix, and support conan cgns
paulharris c53b939
Many more dependencies
paulharris 2c00f98
Enabling 'build_all_modules'
paulharris 382b792
Run build in RunEnvironment shared-build works
paulharris bc298b3
Dependency updates
paulharris 48b035a
Don't set the builddirs
paulharris aa23091
Fixes for C++20
paulharris 0c268a9
Don't build with xorg/system on Windows
paulharris 3de32dc
Fixup iterator patch for the tarball
paulharris 3b02da9
Add option to enable/disable remote modules
paulharris 5b9f9ba
Tweak for windows
paulharris 598373d
Implemented automatic scanning of modules.json
paulharris 07306f6
Add a mini-conan-specific component to avoid stdout spam
paulharris c4a5f85
Working on using vtk module file
paulharris 36608c9
Fixes for windows module approach, use kissfft:datatype=double
paulharris 9c3d359
Bump dep versions
paulharris 001fcbf
Attempted to set resdirs, i have no idea
paulharris 916d7c3
More conan fixes
paulharris c1f098f
Include private internal deps in component requires
paulharris 03776ae
vtk - ensure it links to QtOpenGL when required
paulharris 118cba9
vtk - fixes for copying modules.json into the right spot
paulharris 65b0943
Use external libharu
paulharris f2b4195
Upgrade for conan 1.53
paulharris 4683aa5
Cleanup, and add 9.2.2
paulharris 29157dc
Fixes for building vtk 9.2.2
paulharris 859e275
Fix source get() and fix bug testing if group/modules are enabled
paulharris 0d6f8b0
python fixes
paulharris f5a6b81
Allow choice between libjpeg and libjpeg-turbo
paulharris f191c7a
Thanks @EricAtORS - VTK can only compile with the pugixml option wcha…
paulharris fd25725
Fix problem when QT is not enabled
paulharris 816e0f1
Added small comment
paulharris f9825d3
Support building for a specific git commit or branch or non-version tag
paulharris 6f5af7a
Add example git-commit version in config.yml
paulharris 7648a98
Bump dependencies
paulharris 073c0a9
in progress
paulharris 7a710fd
Cleaned up a lot of the old stuff in recipe
paulharris fdc117d
Fixes from @EricAtORS, especially for python-wrap
paulharris a24ec21
Third-party libs: don't patch VTK, instead use CMakeDeps set_property()
paulharris aa5ea77
Check IOExport is built with wrap_python - EricAtORS says required.
paulharris 71256b0
Fixup NetCDF, VTK needs a CMake definition.
paulharris ba84149
Fixup for C++17/20
paulharris 5e47665
Drop vtk 9.1.0
paulharris 6c8c0c2
Bump dependency for sqlite3
paulharris 988023f
Check kissfft:datatype=double in validate
paulharris f3f305e
Override libcurl version requirement, for CCI build for now
paulharris a9e60a2
Fixup kissfft configuration
paulharris 2fe4f4b
Remove require-override
paulharris 52a8b8f
Fix linter
paulharris 160d54a
Add version 9.2.5
paulharris 16c79c0
Add sqlite3 to build_requirements
paulharris f046ac9
Declare both libs and kits as components. Extra recipe debugging.
paulharris 7cc821e
Removed 9.2.2, added 9.2.6. Added and fixed patches.
paulharris 4ac8677
Added ALL currently available modules to recipe with a loop
paulharris 88e782a
Support VTK's autoinit with a different approach
paulharris 033c3fb
Add patch for python wrapping
paulharris aa9060d
Dropped version 9.2.5
paulharris 537d85b
Backported patch for vtkCGNSReader.cxx
paulharris a1cdc08
temp fix for vtk to find shared library
EricAtORS 9aa136d
Update conan dependency versions
paulharris 291d9f4
Downgrade deps to help build on C3I
paulharris 2085bbb
Another attempt to get it to build on C3I
paulharris 936fb92
Give up, just ask for latest dependencies
paulharris 8e6756d
Split some of the code out of package_info for generating a header.
paulharris 914e4e6
Merge remote-tracking branch 'eric/package-vtk' into package-vtk
paulharris 5e4990e
Fixup shared support for glew, freetype, jsoncpp, lzma
paulharris 6d3422f
Fix for lzma shared/static detection (use xz_utils)
paulharris 3fc9959
Bump deps
paulharris 6a29799
Unbump deps
paulharris 3b538de
Bugfix for shared/static dependency detection
paulharris f02f504
Attempt to resolve openssl version conflicts with my dependencies
paulharris ecc239b
Try a different 'requires' for openssl
paulharris 0933da1
Disable OpenVR dependency until its recipe is ready for conan v2
paulharris 350b752
Extra work to avoid requiring OpenVR
paulharris a7d9d80
Add patch for future upstreamed patch
paulharris f8d53de
Compile fix for GCC13
paulharris 50e9152
Add patches for vtkBoxClipDataSet, vtkCleanPolyData (pointmerging) an…
paulharris a4a8e74
Added patch for vtkHardwarePicker. Renamed some patches.
paulharris 9722afc
Requires to use ranges
paulharris d87768a
Tweaking recipe
paulharris 943cf1e
Use tarball source
paulharris 0377e6a
Add external script for finding modules in src
paulharris 515a55d
Force dependency versions to avoid conflict with
paulharris 298f4eb
Tweak libxml2 version
paulharris 33cf7ef
Add comments, fix expat dependency conflict
paulharris d84dc03
Use conan's kissfft rather than internal package
paulharris a1fbf0a
And add the patch
paulharris d5440a9
Disable group_enable_Web (default) until wrapping is enabled by default
paulharris 220eaa0
Also disable QtQuick support as QT's default package isn't enabled
paulharris c40d561
VTK recipe is now driven by json file with all the dependency info
paulharris 926c669
Rearranged methods in the assumed order that they would be called
paulharris 377ed95
Cleaned up the option-resolution system
paulharris 26410a3
Remove some debugging
paulharris 5015b30
Fix comma typos
paulharris 91fa330
Add vtkHull patch
paulharris 4bac365
Add patch to specify OutputPrecision for vtkQuadricDecimation
paulharris c4397a6
Merge remote-tracking branch 'gitlab/package-vtk-mxrap-60' into packa…
paulharris 38fb011
Consumers don't use private deps. Use transitive headers+libs for con…
paulharris c6428d7
Port 2 new 9.2.6 patches to 9.3.0
paulharris 4ba98e1
Merge remote-tracking branch 'mygithub/package-vtk' into package-vtk
paulharris ceb745b
Typo
paulharris cd5c005
Re-enable printouts. Fixup xorg handling for Windows.
paulharris ebf902c
Include private dependencies in the component requirements, for linking
paulharris 7cad99c
Bump some dependencies
paulharris 74d4d53
More vtkQuadricDecimation fixes
paulharris 50d0a8b
Dropped patches and configuration for VTK 9.2.6
paulharris File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
sources: | ||
"9.1.0": | ||
url: "https://www.vtk.org/files/release/9.1/VTK-9.1.0.tar.gz" | ||
sha256: "8fed42f4f8f1eb8083107b68eaa9ad71da07110161a3116ad807f43e5ca5ce96" | ||
"9.2.2": | ||
url: "https://www.vtk.org/files/release/9.2/VTK-9.2.2.tar.gz" | ||
sha256: "1c5b0a2be71fac96ff4831af69e350f7a0ea3168981f790c000709dcf9121075" | ||
|
||
patches: | ||
"9.2.2": | ||
- patch_file: "patches/9.1.0-remove-qt-59-limit.patch" | ||
patch_type: "conan" | ||
patch_description: "Don't limit QT to 5.9.x" | ||
- patch_file: "patches/9.2.2-third-party-update-specifications.patch" | ||
patch_type: "conan" | ||
patch_description: "Update third-party library specs to use conan-supplied libs" | ||
- patch_file: "patches/9.2.2-fix-cxx20.patch" | ||
patch_type: "conan" | ||
patch_description: "Fixes to support C++20" | ||
- patch_file: "patches/9.1.0-fix-cxx20-3rdparty-diy.patch" | ||
patch_type: "conan" | ||
patch_description: "Upgrade small_vector.hpp to newer code, patch is upstreamed but stuck" | ||
"9.1.0": | ||
- patch_file: "patches/9.1.0-remove-qt-59-limit.patch" | ||
patch_type: "conan" | ||
patch_description: "Don't limit QT to 5.9.x" | ||
- patch_file: "patches/9.1.0-third-party-update-specifications.patch" | ||
patch_type: "conan" | ||
patch_description: "Update third-party library specs to use conan-supplied libs" | ||
- patch_file: "patches/9.1.0-fix-cxx20.patch" | ||
patch_type: "conan" | ||
patch_description: "Fixes to support C++20" | ||
- patch_file: "patches/9.1.0-fix-cxx20-3rdparty-diy.patch" | ||
patch_type: "conan" | ||
patch_description: "Upgrade small_vector.hpp to newer code, patch is upstreamed but stuck" | ||
- patch_file: "patches/9.1.0-dont-inherit-iterator.patch" | ||
patch_type: "conan" | ||
patch_description: "Fix for modern C++: don't inherit from std::iterator" |
Large diffs are not rendered by default.
Oops, something went wrong.
130 changes: 130 additions & 0 deletions
130
recipes/vtk/all/patches/9.1.0-dont-inherit-iterator.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
Don't inherit from std::iterator, different patch sent upstream | ||
|
||
diff --git a/Common/Core/SMP/Common/vtkSMPThreadLocalAPI.h b/Common/Core/SMP/Common/vtkSMPThreadLocalAPI.h | ||
index 3a64fb7129..e63ab157f8 100644 | ||
--- a/Common/Core/SMP/Common/vtkSMPThreadLocalAPI.h | ||
+++ b/Common/Core/SMP/Common/vtkSMPThreadLocalAPI.h | ||
@@ -122,9 +122,15 @@ public: | ||
} | ||
|
||
//-------------------------------------------------------------------------------- | ||
- class iterator : public std::iterator<std::forward_iterator_tag, T> // for iterator_traits | ||
+ class iterator | ||
{ | ||
public: | ||
+ using iterator_category = std::forward_iterator_tag; | ||
+ using value_type = T; | ||
+ using difference_type = std::ptrdiff_t; | ||
+ using pointer = T*; | ||
+ using reference = T&; | ||
+ | ||
iterator() = default; | ||
|
||
iterator(const iterator& other) | ||
diff --git a/Common/Core/vtkCollectionRange.h b/Common/Core/vtkCollectionRange.h | ||
index 221e7b9367..9ac161b03d 100644 | ||
--- a/Common/Core/vtkCollectionRange.h | ||
+++ b/Common/Core/vtkCollectionRange.h | ||
@@ -100,23 +100,18 @@ | ||
// vtkObjects consts makes them unusable. | ||
template <typename CollectionType> | ||
struct CollectionIterator | ||
- : public std::iterator<std::forward_iterator_tag, | ||
- typename GetCollectionItemType<CollectionType>::Type*, int, | ||
- typename GetCollectionItemType<CollectionType>::Type*, | ||
- typename GetCollectionItemType<CollectionType>::Type*> | ||
{ | ||
static_assert(IsCollection<CollectionType>::value, "Invalid vtkCollection subclass."); | ||
|
||
private: | ||
using ItemType = typename GetCollectionItemType<CollectionType>::Type; | ||
- using Superclass = std::iterator<std::forward_iterator_tag, ItemType*, int, ItemType*, ItemType*>; | ||
|
||
public: | ||
- using iterator_category = typename Superclass::iterator_category; | ||
- using value_type = typename Superclass::value_type; | ||
- using difference_type = typename Superclass::difference_type; | ||
- using pointer = typename Superclass::pointer; | ||
- using reference = typename Superclass::reference; | ||
+ using iterator_category = std::forward_iterator_tag; | ||
+ using value_type = typename GetCollectionItemType<CollectionType>::Type*; | ||
+ using difference_type = int; | ||
+ using pointer = typename GetCollectionItemType<CollectionType>::Type*; | ||
+ using reference = typename GetCollectionItemType<CollectionType>::Type*; | ||
|
||
CollectionIterator() noexcept | ||
: Element(nullptr) | ||
diff --git a/Common/Core/vtkSMPTools.h b/Common/Core/vtkSMPTools.h | ||
index 35d9312187..8a83b1293d 100644 | ||
--- a/Common/Core/vtkSMPTools.h | ||
+++ b/Common/Core/vtkSMPTools.h | ||
@@ -37,7 +37,6 @@ | ||
#include "vtkSMPThreadLocal.h" // For Initialized | ||
|
||
#include <functional> // For std::function | ||
-#include <iterator> // For std::iterator | ||
#include <type_traits> // For std:::enable_if | ||
|
||
#ifndef DOXYGEN_SHOULD_SKIP_THIS | ||
diff --git a/Common/DataModel/vtkCompositeDataSetRange.h b/Common/DataModel/vtkCompositeDataSetRange.h | ||
index 19c5981f6b..3c22876c7c 100644 | ||
--- a/Common/DataModel/vtkCompositeDataSetRange.h | ||
+++ b/Common/DataModel/vtkCompositeDataSetRange.h | ||
@@ -56,21 +56,17 @@ | ||
//------------------------------------------------------------------------------ | ||
// vtkCompositeDataSet iterator. Returns vtk::CompositeDataSetNodeReference. | ||
struct CompositeDataSetIterator | ||
- : public std::iterator<std::forward_iterator_tag, vtkDataObject*, int, | ||
- CompositeDataSetIteratorReference, CompositeDataSetIteratorReference> | ||
{ | ||
private: | ||
- using Superclass = std::iterator<std::forward_iterator_tag, vtkDataObject*, int, | ||
- CompositeDataSetIteratorReference, CompositeDataSetIteratorReference>; | ||
using InternalIterator = vtkCompositeDataIterator; | ||
using SmartIterator = vtkSmartPointer<InternalIterator>; | ||
|
||
public: | ||
- using iterator_category = typename Superclass::iterator_category; | ||
- using value_type = typename Superclass::value_type; | ||
- using difference_type = typename Superclass::difference_type; | ||
- using pointer = typename Superclass::pointer; | ||
- using reference = typename Superclass::reference; | ||
+ using iterator_category = std::forward_iterator_tag; | ||
+ using value_type = vtkDataObject*; | ||
+ using difference_type = int; | ||
+ using pointer = CompositeDataSetIteratorReference; | ||
+ using reference = CompositeDataSetIteratorReference; | ||
|
||
CompositeDataSetIterator(const CompositeDataSetIterator& o) | ||
: Iterator(o.Iterator ? SmartIterator::Take(o.Iterator->NewInstance()) : nullptr) | ||
diff --git a/Common/DataModel/vtkDataObjectTreeRange.h b/Common/DataModel/vtkDataObjectTreeRange.h | ||
index 1a4c27729d..484a06c8d3 100644 | ||
--- a/Common/DataModel/vtkDataObjectTreeRange.h | ||
+++ b/Common/DataModel/vtkDataObjectTreeRange.h | ||
@@ -56,21 +56,17 @@ | ||
vtk::CompositeDataSetNodeReference<vtkDataObjectTreeIterator, DataObjectTreeIterator>; | ||
|
||
struct DataObjectTreeIterator | ||
- : public std::iterator<std::forward_iterator_tag, vtkDataObject*, int, | ||
- DataObjectTreeIteratorReference, DataObjectTreeIteratorReference> | ||
{ | ||
private: | ||
- using Superclass = std::iterator<std::forward_iterator_tag, vtkDataObject*, int, | ||
- DataObjectTreeIteratorReference, DataObjectTreeIteratorReference>; | ||
using InternalIterator = vtkDataObjectTreeIterator; | ||
using SmartIterator = vtkSmartPointer<InternalIterator>; | ||
|
||
public: | ||
- using iterator_category = typename Superclass::iterator_category; | ||
- using value_type = typename Superclass::value_type; | ||
- using difference_type = typename Superclass::difference_type; | ||
- using pointer = typename Superclass::pointer; | ||
- using reference = typename Superclass::reference; | ||
+ using iterator_category = std::forward_iterator_tag; | ||
+ using value_type = vtkDataObject*; | ||
+ using difference_type = int; | ||
+ using pointer = DataObjectTreeIteratorReference; | ||
+ using reference = DataObjectTreeIteratorReference; | ||
|
||
DataObjectTreeIterator(const DataObjectTreeIterator& o) | ||
: Iterator(o.Iterator ? SmartIterator::Take(o.Iterator->NewInstance()) : nullptr) |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some
patch_types
are not fitting. Some are ratherportability
patches, like the ones that enable newer C++ standards.And for the one that is upstreamed please add a
patch_source
, it is much easier to know then what can be removed with future upstream releaseshttps://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/conandata_yml_format.md#patch_type
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, was going to do that later as the upstreamed patches were upstreamed quite a while ago, and at the time hadn't been accepted yet.