This fixed VTK that was broken on darwin in #158778 with "mv: Argument
list too long".
Reverts: 16a1b346 ('vtk: create versionless symlinks in /lib')
Reverts: 63599248 ('vtk: move headers out of /include/vtk-*')
This partially reverts: 010f6ee3 ('treewide: mark broken for darwin')
I believe this is a remanant of a global /usr/include which isn't
required with Nix and only complicates dependants' build scripts.
Backwards compatibility is maintained by way of a symlink.
VTK 7 builds with Qt 4 by default but we only support Qt 5, so let’s switch to that.
Also Qt changed some headers so let’s backport the VTK patch to fix the build.
Previously ldd did not show the dependencies so presumably,
VTK 9 started linking them statically after build system changes,
as hinted by the following CMake warning:
Manually-specified variables were not used by the project:
VTK_USE_SYSTEM_PNG
VTK_USE_SYSTEM_TIFF
VTK doesn't seem produce png symbols on aarch64. We could probably
figure out how to fix that but we can also just tell it to use the
libpng we already have, which already works on aarch64.
vtk: clean up / reduce code repetition
This refactors the vtk expressions to use a generic base expression,
which is used for all 3 versions.
vtk 7.x no longer uses gcc 8, since the quirk of it not building with
gcc 9 seems to have been fixed.
This also makes the python bindings available for all 3 versions, and
fixes building them for vtk 8 by adding a patch.