Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / mahotas / default.nix
blob6926cc0e6958f8ac12d3025d23c567330b02fdff
1 { buildPythonPackage
2 , fetchFromGitHub
3 , fetchpatch
4 , pillow
5 , scipy
6 , numpy
7 , pytestCheckHook
8 , imread
9 , freeimage
10 , lib
11 , stdenv
14 buildPythonPackage rec {
15   pname = "mahotas";
16   version = "1.4.13";
17   format = "setuptools";
19   src = fetchFromGitHub {
20     owner = "luispedro";
21     repo = "mahotas";
22     rev = "v${version}";
23     hash = "sha256-AmctF/9hLgHw6FUm0s61eCdcc12lBa1t0OkXclis//w=";
24   };
26   propagatedBuildInputs = [
27     freeimage
28     imread
29     numpy
30     pillow
31     scipy
32   ];
34   nativeCheckInputs = [ pytestCheckHook ];
36   postPatch = ''
37     substituteInPlace mahotas/io/freeimage.py \
38       --replace "ctypes.util.find_library('freeimage')" 'True' \
39       --replace 'ctypes.CDLL(libname)' 'np.ctypeslib.load_library("libfreeimage", "${freeimage}/lib")'
40   '';
42   # mahotas/_morph.cpp:864:10: error: no member named 'random_shuffle' in namespace 'std'
43   env = lib.optionalAttrs stdenv.cc.isClang {
44     NIX_CFLAGS_COMPILE = "-std=c++14";
45   };
47   # tests must be run in the build directory
48   preCheck = ''
49     cd build/lib*
50   '';
52   # re-enable as soon as https://github.com/luispedro/mahotas/issues/97 is fixed
53   disabledTests = [
54     "test_colors"
55     "test_ellipse_axes"
56     "test_normalize"
57     "test_haralick3d"
58   ];
60   pythonImportsCheck = [
61     "mahotas"
62     "mahotas.freeimage"
63   ];
65   disabled = stdenv.isi686; # Failing tests
67   meta = with lib; {
68     broken = (stdenv.isLinux && stdenv.isAarch64);
69     description = "Computer vision package based on numpy";
70     homepage = "https://mahotas.readthedocs.io/";
71     maintainers = with maintainers; [ luispedro ];
72     license = licenses.mit;
73     platforms = platforms.unix;
74   };