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: add vtk-dicom module #317335

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

vtk: add vtk-dicom module #317335

wants to merge 1 commit into from

Conversation

kurnevsky
Copy link
Member

@kurnevsky kurnevsky commented Jun 5, 2024

Description of changes

Add https://github.com/dgobbi/vtk-dicom module. It is needed for https://github.com/eidelen/DicomToMesh

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@kurnevsky kurnevsky marked this pull request as draft June 5, 2024 02:51
@kurnevsky
Copy link
Member Author

Hm, gdcm depends on vtk, but at the same time it's used as a dependency for vtk-dicom...

@kurnevsky
Copy link
Member Author

ok, it doesn't need vtk integration here.

@kurnevsky
Copy link
Member Author

Result of nixpkgs-review pr 317335 run on x86_64-linux 1

3 packages marked as broken and skipped:
  • ezminc
  • python312Packages.mayavi
  • python312Packages.mayavi.dist
4 packages failed to build:
  • python311Packages.pydicom-seg
  • python311Packages.pydicom-seg.dist
  • python312Packages.pydicom-seg
  • python312Packages.pydicom-seg.dist
73 packages built:
  • ants
  • appcsxcad
  • c3d
  • cloudcompare
  • csxcad
  • elastix
  • elmerfem
  • f3d
  • f3d.man
  • freecad
  • gdcm
  • intensity-normalization (python311Packages.intensity-normalization)
  • intensity-normalization.dist (python311Packages.intensity-normalization.dist)
  • itk
  • itk_5_2
  • libsForQt5.qcsxcad
  • libsForQt5.qcsxcad.dev
  • mirtk
  • mrtrix
  • octavePackages.dicom
  • openems
  • pcl
  • python311Packages.dicom2nifti
  • python311Packages.dicom2nifti.dist
  • python311Packages.gdcm
  • python311Packages.mayavi
  • python311Packages.mayavi.dist
  • python311Packages.medpy
  • python311Packages.medpy.dist
  • python311Packages.pymedio
  • python311Packages.pymedio.dist
  • python311Packages.pyradiomics
  • python311Packages.pyradiomics.dist
  • python311Packages.python-csxcad
  • python311Packages.python-csxcad.dist
  • python311Packages.python-openems
  • python311Packages.python-openems.dist
  • python311Packages.pyvista
  • python311Packages.pyvista.dist
  • python311Packages.sfepy
  • python311Packages.sfepy.dist
  • python311Packages.simpleitk
  • python311Packages.simpleitk.dist
  • python311Packages.torchio
  • python311Packages.torchio.dist
  • python311Packages.vtk
  • python312Packages.dicom2nifti
  • python312Packages.dicom2nifti.dist
  • python312Packages.gdcm
  • python312Packages.medpy
  • python312Packages.medpy.dist
  • python312Packages.pymedio
  • python312Packages.pymedio.dist
  • python312Packages.pyradiomics
  • python312Packages.pyradiomics.dist
  • python312Packages.python-csxcad
  • python312Packages.python-csxcad.dist
  • python312Packages.python-openems
  • python312Packages.python-openems.dist
  • python312Packages.pyvista
  • python312Packages.pyvista.dist
  • python312Packages.sfepy
  • python312Packages.sfepy.dist
  • python312Packages.simpleitk
  • python312Packages.simpleitk.dist
  • python312Packages.torchio
  • python312Packages.torchio.dist
  • python312Packages.vtk
  • rtabmap
  • simpleitk
  • therion
  • vtk
  • vtkWithQt5

@kurnevsky kurnevsky marked this pull request as ready for review June 5, 2024 04:14
@kurnevsky
Copy link
Member Author

pydicom-seg is broken on master: https://hydra.nixos.org/build/262251394

@kurnevsky
Copy link
Member Author

Also not sure if it should be enabled by default. I don't see it's being used a lot, but it doesn't break anything.

Copy link
Member

@bcdarwin bcdarwin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please rebase to resolve (minor) merge conflicts (you'll also need to run nixfmt on this file now)

@@ -23,6 +24,18 @@ in stdenv.mkDerivation {
sha256 = sourceSha256;
};

preConfigure = let
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe consider postPatch here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can do that, but why is it preferable? :)

@@ -48,6 +61,8 @@ in stdenv.mkDerivation {
GLUT
] ++ optionals enablePython [
python
] ++ optionals enableVtkDicom [
(gdcm.override { enableVTK = false; })
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe we should consider lifting this to e.g. all-packages.nix say by defining vtkWithGdcm or similar, but I think it's fine?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's vice versa, gdcmWithGtk. I have no preference, so can move it.

@@ -93,6 +108,12 @@ in stdenv.mkDerivation {
++ optionals enablePython [
"-DVTK_WRAP_PYTHON:BOOL=ON"
"-DVTK_PYTHON_VERSION:STRING=${pythonMajor}"
]
++ optionals enableVtkDicom [
"-DVTK_ENABLE_REMOTE_MODULES=YES"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this be a bit narrower e.g. just enabling vtkDICOM, or is VTK_ENABLE_REMOTE_MODULES necessary for some reason?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's actually enabled by default, so removed it.

@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Sep 10, 2024
@luzpaz
Copy link
Contributor

luzpaz commented Dec 14, 2024

soft bump

@kurnevsky
Copy link
Member Author

kurnevsky commented Dec 15, 2024

Updated the MR with v0.8.17.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants