From f18e0a0949b943aca465d256cd261c6412f2c496 Mon Sep 17 00:00:00 2001 From: qbisi Date: Fri, 5 Sep 2025 14:23:08 +0800 Subject: [PATCH] vtk-dicom: init at 0.8.17 --- pkgs/by-name/vt/vtk-dicom/package.nix | 67 ++++++++++++++++++++++ pkgs/development/libraries/vtk/generic.nix | 18 ------ 2 files changed, 67 insertions(+), 18 deletions(-) create mode 100644 pkgs/by-name/vt/vtk-dicom/package.nix diff --git a/pkgs/by-name/vt/vtk-dicom/package.nix b/pkgs/by-name/vt/vtk-dicom/package.nix new file mode 100644 index 000000000000..f692db9a227d --- /dev/null +++ b/pkgs/by-name/vt/vtk-dicom/package.nix @@ -0,0 +1,67 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + vtk, + gdcm, + testers, + vtk-dicom, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "vtk-dicom"; + version = "0.8.17"; + + src = fetchFromGitHub { + owner = "dgobbi"; + repo = "vtk-dicom"; + tag = "v${finalAttrs.version}"; + hash = "sha256-1lI2qsV4gymWqjeouEHZ5FRlmlh9vimH7J5rzA+eOds="; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + vtk + gdcm + ]; + + cmakeFlags = [ + (lib.cmakeBool "USE_GDCM" true) + (lib.cmakeBool "DICOM_VERSIONED_INSTALL" false) + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + (lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "bin") + (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib") + (lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "include") + ] + ++ lib.optional finalAttrs.finalPackage.doCheck [ + # vtkBool does not accept TRUE, we have to use STRING "ON" + (lib.cmakeFeature "BUILD_TESTING" "ON") + ]; + + doCheck = true; + + passthru.tests = { + python = vtk-dicom.override { + vtk = vtk.override { pythonSupport = true; }; + }; + + cmake-config = testers.hasCmakeConfigModules { + moduleNames = [ "DICOM" ]; + package = finalAttrs.finalPackage; + }; + }; + + meta = { + description = "DICOM for VTK"; + homepage = "https://github.com/dgobbi/vtk-dicom"; + changelog = "https://github.com/dgobbi/vtk-dicom/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ + qbisi + bcdarwin + ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/development/libraries/vtk/generic.nix b/pkgs/development/libraries/vtk/generic.nix index c3bf478fb471..47baf2aa718b 100644 --- a/pkgs/development/libraries/vtk/generic.nix +++ b/pkgs/development/libraries/vtk/generic.nix @@ -47,7 +47,6 @@ libgeotiff, laszip_2, gdal, - gdcm, pdal, alembic, imath, @@ -138,19 +137,6 @@ stdenv.mkDerivation (finalAttrs: { hash = sourceSha256; }; - postPatch = - let - vtk-dicom = fetchFromGitHub { - owner = "dgobbi"; - repo = "vtk-dicom"; - tag = "v0.8.17"; - hash = "sha256-1lI2qsV4gymWqjeouEHZ5FRlmlh9vimH7J5rzA+eOds="; - }; - in - '' - cp --no-preserve=mode -r ${vtk-dicom} ./Remote/vtkDICOM - ''; - nativeBuildInputs = [ cmake pkg-config # required for finding MySQl @@ -168,7 +154,6 @@ stdenv.mkDerivation (finalAttrs: { libgeotiff laszip_2 gdal - (gdcm.override { enableVTK = false; }) pdal alembic imath @@ -305,9 +290,6 @@ stdenv.mkDerivation (finalAttrs: { # mpiSupport (lib.cmakeBool "VTK_USE_MPI" mpiSupport) (vtkBool "VTK_GROUP_ENABLE_MPI" mpiSupport) - - # Remote module options - (lib.cmakeBool "USE_GDCM" true) # for vtkDicom ]; pythonImportsCheck = [ "vtk" ];