Skip to content
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

[vtk]: Convert dependencies into default features #40279

Merged
merged 3 commits into from
Aug 14, 2024

Conversation

DownerCase
Copy link
Contributor

@DownerCase DownerCase commented Aug 4, 2024

Moves multiple previously mandatory dependencies to be default features instead. This was inspired by, and builds upon, @bansan85's work on #39511 to have vtk[core] pull in much less dependencies.

Everything is added as a default feature because the dependencies are required for things in the "Standalone" or "Rendering" VTK groups which the portfile has enabled (ie: VTK_GROUP_ENABLE_StandAlone=YES). So I take that as the "expected functionality".

This could be taken further but I was focused on value-for-effort and seacas was my main target for making non-strictly-required.

I've tested many configurations (if only on Windows) but if anything has problems it'll probably be from paraview or rtabmap; which I was not able to test properly because... they're huge.

Before (vtk[cgns,libharu,libtheora,netcdf,proj,seacas,sql]) -- 48 packages -- 3.67GB

vcpkg-cmake:
vcpkg-cmake-get-vars: vcpkg-cmake
vcpkg-cmake-config:
vcpkg-tool-meson: vcpkg-cmake-get-vars
szip: vcpkg-cmake, vcpkg-cmake-config
zlib: vcpkg-cmake
egl-registry:
pkgconf: vcpkg-tool-meson
libjpeg-turbo: vcpkg-cmake, vcpkg-cmake-config
liblzma: vcpkg-cmake, vcpkg-cmake-config
hdf5[szip, zlib, tools]: szip, vcpkg-cmake, vcpkg-cmake-config, zlib
curl[non-http, ssl, schannel, sspi]: vcpkg-cmake, vcpkg-cmake-config, zlib
gklib: vcpkg-cmake, vcpkg-cmake-config
opengl-registry: egl-registry
vcpkg-pkgconfig-get-modules: pkgconf
brotli: vcpkg-cmake, vcpkg-cmake-config
bzip2[tool]: vcpkg-cmake
cereal: vcpkg-cmake, vcpkg-cmake-config
cgns[hdf5, lfs, lfsselector]: hdf5, vcpkg-cmake, vcpkg-cmake-config
nlohmann-json: vcpkg-cmake, vcpkg-cmake-config
sqlite3[json1, tool]: vcpkg-cmake, vcpkg-cmake-config
fmt: vcpkg-cmake, vcpkg-cmake-config
libpng: vcpkg-cmake, vcpkg-cmake-config, zlib
opengl: opengl-registry
tiff[jpeg, lzma, zip]: libjpeg-turbo, liblzma, vcpkg-cmake, vcpkg-cmake-config, zlib
libiconv:
libogg: vcpkg-cmake, vcpkg-cmake-config
metis: gklib, vcpkg-cmake, vcpkg-cmake-config
netcdf-c[netcdf-4, dap, hdf5, nczarr]: curl, hdf5, vcpkg-cmake, vcpkg-cmake-config, vcpkg-pkgconfig-get-modules
double-conversion: vcpkg-cmake, vcpkg-cmake-config
eigen3: vcpkg-cmake, vcpkg-cmake-config
lz4: vcpkg-cmake, vcpkg-cmake-config
glew: opengl, vcpkg-cmake, vcpkg-cmake-config
freetype[brotli, bzip2, zlib, png]: brotli, bzip2, libpng, vcpkg-cmake, vcpkg-cmake-config, zlib
fast-float: vcpkg-cmake, vcpkg-cmake-config
exprtk:
expat: vcpkg-cmake, vcpkg-cmake-config
jsoncpp: vcpkg-cmake, vcpkg-cmake-config
libtheora: libogg, vcpkg-cmake, vcpkg-cmake-config
pegtl: vcpkg-cmake, vcpkg-cmake-config
libxml2[iconv, lzma, zlib]: libiconv, liblzma, vcpkg-cmake, vcpkg-cmake-config, zlib
libharu: libpng, vcpkg-cmake, vcpkg-cmake-config, zlib
proj[net, tiff]: curl, nlohmann-json, sqlite3, tiff, vcpkg-cmake, vcpkg-cmake-config
pugixml: vcpkg-cmake, vcpkg-cmake-config
seacas: cereal, cgns, fmt, hdf5, metis, netcdf-c, vcpkg-cmake, vcpkg-cmake-config, zlib
utfcpp: vcpkg-cmake, vcpkg-cmake-config
verdict: vcpkg-cmake, vcpkg-cmake-config
vtk[cgns, proj, libharu, seacas, libtheora, netcdf, sql]: cgns, double-conversion, eigen3, expat, exprtk, fast-float, fmt, freetype, glew, hdf5, jsoncpp, libharu, libjpeg-turbo, liblzma, libpng, libtheora, libxml2, lz4, netcdf-c, nlohmann-json, pegtl, proj, pugixml, seacas, sqlite3, tiff, utfcpp, vcpkg-cmake, vcpkg-cmake-config, verdict, zlib

After (vtk[core]) -- 32 packages -- 3.30GB

vcpkg-cmake:
egl-registry:
vcpkg-cmake-config:
zlib: vcpkg-cmake
opengl-registry: egl-registry
brotli: vcpkg-cmake, vcpkg-cmake-config
bzip2[tool]: vcpkg-cmake
libpng: vcpkg-cmake, vcpkg-cmake-config, zlib
opengl: opengl-registry
szip: vcpkg-cmake, vcpkg-cmake-config
libiconv:
libjpeg-turbo: vcpkg-cmake, vcpkg-cmake-config
liblzma: vcpkg-cmake, vcpkg-cmake-config
double-conversion: vcpkg-cmake, vcpkg-cmake-config
eigen3: vcpkg-cmake, vcpkg-cmake-config
expat: vcpkg-cmake, vcpkg-cmake-config
exprtk:
fast-float: vcpkg-cmake, vcpkg-cmake-config
fmt: vcpkg-cmake, vcpkg-cmake-config
freetype[brotli, bzip2, zlib, png]: brotli, bzip2, libpng, vcpkg-cmake, vcpkg-cmake-config, zlib
glew: opengl, vcpkg-cmake, vcpkg-cmake-config
hdf5[szip, zlib]: szip, vcpkg-cmake, vcpkg-cmake-config, zlib
jsoncpp: vcpkg-cmake, vcpkg-cmake-config
libxml2[iconv, lzma, zlib]: libiconv, liblzma, vcpkg-cmake, vcpkg-cmake-config, zlib
lz4: vcpkg-cmake, vcpkg-cmake-config
nlohmann-json: vcpkg-cmake, vcpkg-cmake-config
pegtl: vcpkg-cmake, vcpkg-cmake-config
pugixml: vcpkg-cmake, vcpkg-cmake-config
tiff[jpeg, lzma, zip]: libjpeg-turbo, liblzma, vcpkg-cmake, vcpkg-cmake-config, zlib
utfcpp: vcpkg-cmake, vcpkg-cmake-config
verdict: vcpkg-cmake, vcpkg-cmake-config
vtk: double-conversion, eigen3, expat, exprtk, fast-float, fmt, freetype, glew, hdf5, jsoncpp, libjpeg-turbo, liblzma, libpng, libxml2, lz4, nlohmann-json, pegtl, pugixml, tiff, utfcpp, vcpkg-cmake, vcpkg-cmake-config, verdict, zlib
  • Changes comply with the maintainer guide.
  • SHA512s are updated for each updated download.
  • The "supports" clause reflects platforms that may be fixed by this new version.
  • Any fixed CI baseline entries are removed from that file.
  • Any patches that are no longer applied are deleted from the port's directory.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Only one version is added to each modified port's versions file.

@LilyWangLL LilyWangLL added the category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist label Aug 5, 2024
@DownerCase
Copy link
Contributor Author

@DownerCase DownerCase marked this pull request as ready for review August 7, 2024 18:57
@LilyWangLL LilyWangLL added the info:reviewed Pull Request changes follow basic guidelines label Aug 9, 2024
@DownerCase
Copy link
Contributor Author

Update: Upstream MR was merged 😄

@data-queue data-queue merged commit 333ba63 into microsoft:master Aug 14, 2024
16 checks passed
@DownerCase DownerCase deleted the vtk-default-features branch August 14, 2024 07:40
Jimmy-Hu added a commit to Jimmy-Hu/vcpkg that referenced this pull request Aug 14, 2024
[vtk]: Convert dependencies into default features (microsoft#40279)
This was referenced Aug 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants