about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/mahotas/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/mahotas/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/mahotas/default.nix35
1 files changed, 31 insertions, 4 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/mahotas/default.nix b/nixpkgs/pkgs/development/python-modules/mahotas/default.nix
index 707ad9f3c8f6..efc1bec76731 100644
--- a/nixpkgs/pkgs/development/python-modules/mahotas/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mahotas/default.nix
@@ -1,21 +1,43 @@
-{ buildPythonPackage, fetchFromGitHub, pillow, scipy, numpy, pytestCheckHook, imread, freeimage, lib, stdenv }:
+{ buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, pillow
+, scipy
+, numpy
+, pytestCheckHook
+, imread
+, freeimage
+, lib
+, stdenv
+}:
 
 buildPythonPackage rec {
   pname = "mahotas";
-  version = "1.4.11";
+  version = "1.4.12";
 
   src = fetchFromGitHub {
     owner = "luispedro";
     repo = "mahotas";
     rev = "v${version}";
-    sha256 = "029gvy1fb855pvxvy8zwj44k4s7qpqi0161bg5wldfiprrysn1kw";
+    sha256 = "1n19yha1cqyx7hnlici1wkl7n68dh0vbpsyydfhign2c0w9jvg42";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-freeimage-tests.patch";
+      url = "https://github.com/luispedro/mahotas/commit/08cc4aa0cbd5dbd4c37580d52b822810c03b2c69.patch";
+      sha256 = "0389sz7fyl8h42phw8sn4pxl4wc3brcrj9d05yga21gzil9bfi23";
+      excludes = [ "ChangeLog" ];
+    })
+  ];
+
   propagatedBuildInputs = [ numpy imread pillow scipy freeimage ];
   checkInputs = [ pytestCheckHook ];
 
   postPatch = ''
-    substituteInPlace mahotas/io/freeimage.py --replace "/opt/local/lib" "${freeimage}/lib"
+    substituteInPlace mahotas/io/freeimage.py \
+      --replace "ctypes.util.find_library('freeimage')" 'True' \
+      --replace 'ctypes.CDLL(libname)' 'np.ctypeslib.load_library("libfreeimage", "${freeimage}/lib")'
   '';
 
   # tests must be run in the build directory
@@ -31,6 +53,11 @@ buildPythonPackage rec {
     "test_haralick3d"
   ];
 
+  pythonImportsCheck = [
+    "mahotas"
+    "mahotas.freeimage"
+  ];
+
   disabled = stdenv.isi686; # Failing tests
 
   meta = with lib; {