ansible-later: 2.0.22 -> 2.0.23
[NixPkgs.git] / pkgs / development / python-modules / pydicom / default.nix
blob9310d0cf5553c49faa44ae21123458f67560b2bf
1 { lib
2 , stdenv
3 , buildPythonPackage
4 , fetchFromGitHub
5 , pythonOlder
6 , pytestCheckHook
7 , numpy
8 , pillow
9 , setuptools
12 let
13   pname = "pydicom";
14   version = "2.3.0";
16   src = fetchFromGitHub {
17     owner = "pydicom";
18     repo = "pydicom";
19     rev = "v${version}";
20     hash = "sha256-CAQWaBkzecJ1VXQ5BnAUjmBMjh0I8y+gT7I4P4o2gqI=";
21   };
23   # Pydicom needs pydicom-data to run some tests. If these files aren't downloaded
24   # before the package creation, it'll try to download during the checkPhase.
25   test_data = fetchFromGitHub {
26     owner = "pydicom";
27     repo = "pydicom-data";
28     rev = "bbb723879690bb77e077a6d57657930998e92bd5";
29     hash = "sha256-dCI1temvpNWiWJYVfQZKy/YJ4ad5B0e9hEKHJnEeqzk=";
30   };
33 buildPythonPackage {
34   inherit pname version src;
35   disabled = pythonOlder "3.6";
37   format = "setuptools";
39   propagatedBuildInputs = [
40     numpy
41     pillow
42     setuptools
43   ];
45   checkInputs = [
46     pytestCheckHook
47   ];
49   # Setting $HOME to prevent pytest to try to create a folder inside
50   # /homeless-shelter which is read-only.
51   # Linking pydicom-data dicom files to $HOME/.pydicom/data
52   preCheck = ''
53     export HOME=$TMP/test-home
54     mkdir -p $HOME/.pydicom/
55     ln -s ${test_data}/data_store/data $HOME/.pydicom/data
56   '';
58   disabledTests = [
59     # tries to remove a dicom inside $HOME/.pydicom/data/ and download it again
60     "test_fetch_data_files"
61   ] ++ lib.optionals stdenv.isAarch64 [
62     # https://github.com/pydicom/pydicom/issues/1386
63     "test_array"
64   ] ++ lib.optionals stdenv.isDarwin [
65     # flaky, hard to reproduce failure outside hydra
66     "test_time_check"
67   ];
69   pythonImportsCheck = [
70     "pydicom"
71   ];
73   meta = with lib; {
74     description = "Python package for working with DICOM files";
75     homepage = "https://pydicom.github.io";
76     license = licenses.mit;
77     maintainers = with maintainers; [ bcdarwin ];
78   };