diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gdcm')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/gdcm/default.nix | 38 |
1 files changed, 34 insertions, 4 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gdcm/default.nix b/nixpkgs/pkgs/development/libraries/gdcm/default.nix index 59559051e65e..76e661dfbd4c 100644 --- a/nixpkgs/pkgs/development/libraries/gdcm/default.nix +++ b/nixpkgs/pkgs/development/libraries/gdcm/default.nix @@ -6,6 +6,7 @@ , vtk , ApplicationServices , Cocoa +, libiconv , enablePython ? false , python ? null , swig @@ -13,18 +14,23 @@ stdenv.mkDerivation rec { pname = "gdcm"; - version = "3.0.15"; + version = "3.0.22"; src = fetchFromGitHub { owner = "malaterre"; repo = "GDCM"; - rev = "v${version}"; - sha256 = "sha256-kyazfsm0lGgz26PWJUyFRmFxQFxmotDPXrwx3N/EVl0="; + rev = "refs/tags/v${version}"; + hash = "sha256-geWNGbBJGKPs5hNO42vtVOj0rOWyM6zmcocvRhWW4s0="; }; cmakeFlags = [ "-DGDCM_BUILD_APPLICATIONS=ON" "-DGDCM_BUILD_SHARED_LIBS=ON" + "-DGDCM_BUILD_TESTING=ON" + # hack around usual "`RUNTIME_DESTINATION` must not be an absolute path" issue: + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_INCLUDEDIR=include" ] ++ lib.optionals enableVTK [ "-DGDCM_USE_VTK=ON" ] ++ lib.optionals enablePython [ @@ -39,16 +45,40 @@ stdenv.mkDerivation rec { ] ++ lib.optionals stdenv.isDarwin [ ApplicationServices Cocoa + libiconv ] ++ lib.optionals enablePython [ swig python ]; + disabledTests = [ + # require networking: + "TestEcho" + "TestFind" + "gdcmscu-echo-dicomserver" + "gdcmscu-find-dicomserver" + # seemingly ought to be be disabled when the test data submodule is not present: + "TestvtkGDCMImageReader2_3" + "TestSCUValidation" + # errors because 3 classes not wrapped: + "TestWrapPython" + ]; + + checkPhase = '' + runHook preCheck + ctest --exclude-regex '^(${lib.concatStringsSep "|" disabledTests})$' + runHook postCheck + ''; + doCheck = true; + # note that when the test data is available to the build via `fetchSubmodules = true`, + # a number of additional but much slower tests are enabled + meta = with lib; { description = "The grassroots cross-platform DICOM implementation"; longDescription = '' Grassroots DICOM (GDCM) is an implementation of the DICOM standard designed to be open source so that researchers may access clinical data directly. GDCM includes a file format definition and a network communications protocol, both of which should be extended to provide a full set of tools for a researcher or small medical imaging vendor to interface with an existing medical database. ''; - homepage = "http://gdcm.sourceforge.net/"; + homepage = "https://gdcm.sourceforge.net/"; license = with licenses; [ bsd3 asl20 ]; maintainers = with maintainers; [ tfmoraes ]; + platforms = platforms.all; }; } |