Unverified Commit 86771491 authored by Peder Bergebakken Sundt's avatar Peder Bergebakken Sundt Committed by GitHub
Browse files

python312Packages.{gdcm,dicom2nifti}: unbreak (#354294)

parents 449ec96e fd5675db
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
    "-DGDCM_USE_VTK=ON"
  ] ++ lib.optionals enablePython [
    "-DGDCM_WRAP_PYTHON:BOOL=ON"
    "-DGDCM_INSTALL_PYTHONMODULE_DIR=${placeholder "out"}/${python.sitePackages}"
    "-DGDCM_INSTALL_PYTHONMODULE_DIR=${placeholder "out"}/${python.sitePackages}/python_gdcm"
  ];

  nativeBuildInputs = [
@@ -66,6 +66,13 @@ stdenv.mkDerivation rec {
    libiconv
  ] ++ lib.optionals enablePython [ swig python ];

  postInstall = lib.optionalString enablePython ''
    substitute \
      ${./python_gdcm.egg-info} \
      $out/${python.sitePackages}/python_gdcm-${version}.egg-info \
      --subst-var-by GDCM_VER "${version}"
  '';

  disabledTests = [
    # require networking:
    "TestEcho"
@@ -77,6 +84,8 @@ stdenv.mkDerivation rec {
    "TestSCUValidation"
    # errors because 3 classes not wrapped:
    "TestWrapPython"
    # AttributeError: module 'gdcm' has no attribute 'UIDGenerator_SetRoot'; maybe a wrapping regression:
    "TestUIDGeneratorPython"
  ] ++ lib.optionals (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux) [
    "TestRescaler2"
  ];
+5 −0
Original line number Diff line number Diff line
Metadata-Version: 2.1
Name: python-gdcm
Version: @GDCM_VER@
Summary: C++ library for DICOM medical files wrapped for Python using SWIG
Platform: UNKNOWN
+7 −5
Original line number Diff line number Diff line
@@ -8,6 +8,8 @@
  nibabel,
  numpy,
  pydicom,
  pylibjpeg,
  pylibjpeg-libjpeg,
  scipy,
  setuptools,
}:
@@ -37,16 +39,16 @@ buildPythonPackage rec {
    scipy
  ];

  # python-gdcm just builds the python interface provided by the "gdcm" package, so
  # we should be able to replace "python-gdcm" with "gdcm" but this doesn't work
  # (similar to https://github.com/NixOS/nixpkgs/issues/84774)
  postPatch = ''
    substituteInPlace setup.py --replace-fail "python-gdcm" ""
    substituteInPlace tests/test_generic.py --replace-fail "from common" "from dicom2nifti.common"
    substituteInPlace tests/test_ge.py --replace-fail "import convert_generic" "import dicom2nifti.convert_generic as convert_generic"
  '';

  nativeCheckInputs = [ pytestCheckHook ];
  nativeCheckInputs = [
    pytestCheckHook
    pylibjpeg
    pylibjpeg-libjpeg
  ];

  pythonImportsCheck = [ "dicom2nifti" ];