1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 setuptools,
7 unittestCheckHook,
8 boost,
9 numpy,
10 scipy,
11 simpleitk,
12}:
13
14buildPythonPackage rec {
15 pname = "medpy";
16 version = "0.5.2";
17 pyproject = true;
18
19 disabled = pythonOlder "3.6";
20
21 src = fetchFromGitHub {
22 owner = "loli";
23 repo = "medpy";
24 tag = version;
25 hash = "sha256-M46d8qiR3+ioiuRhzIaU5bV1dnfDm819pjn78RYlcG0=";
26 };
27
28 build-system = [ setuptools ];
29
30 dependencies = [
31 boost
32 numpy
33 scipy
34 simpleitk
35 ];
36
37 nativeCheckInputs = [ unittestCheckHook ];
38
39 preCheck = ''
40 rm -r medpy/ # prevent importing from build directory at test time
41 rm -r tests/graphcut_ # SIGILL at test time
42 '';
43
44 pythonImportsCheck = [
45 "medpy"
46 "medpy.core"
47 "medpy.features"
48 "medpy.filter"
49 "medpy.graphcut"
50 "medpy.io"
51 "medpy.metric"
52 "medpy.utilities"
53 ];
54
55 meta = with lib; {
56 description = "Medical image processing library";
57 homepage = "https://loli.github.io/medpy";
58 changelog = "https://github.com/loli/medpy/releases/tag/${version}";
59 license = licenses.gpl3Plus;
60 maintainers = with maintainers; [ bcdarwin ];
61 };
62}