1{
2 lib,
3 blas,
4 lapack,
5 buildPythonPackage,
6 cffi,
7 fetchFromGitHub,
8 nose,
9 numpy,
10 stdenv,
11}:
12
13buildPythonPackage {
14 pname = "prox-tv";
15 version = "3.3.0";
16 format = "setuptools";
17
18 src = fetchFromGitHub {
19 owner = "albarji";
20 repo = "proxTV";
21 rev = "e621585d5aaa7983fbee68583f7deae995d3bafb";
22 sha256 = "0mlrjbb5rw78dgijkr3bspmsskk6jqs9y7xpsgs35i46dvb327q5";
23 };
24
25 nativeCheckInputs = [ nose ];
26
27 propagatedBuildInputs = [
28 numpy
29 cffi
30 ];
31
32 # this test is known to fail on darwin
33 checkPhase = ''
34 nosetests --exclude=test_tvp_1d ${lib.optionalString stdenv.isDarwin " --exclude=test_tv2_1d"}
35 '';
36
37 propagatedNativeBuildInputs = [ cffi ];
38
39 buildInputs = [
40 blas
41 lapack
42 ];
43
44 enableParallelBuilding = true;
45
46 meta = with lib; {
47 homepage = "https://github.com/albarji/proxTV";
48 description = "A toolbox for fast Total Variation proximity operators";
49 license = licenses.bsd2;
50 maintainers = with maintainers; [ multun ];
51 };
52}