1{
2 gevent,
3 buildPythonPackage,
4 fetchFromGitHub,
5 hostname,
6 pytest,
7 lib,
8 stdenv,
9}:
10
11buildPythonPackage rec {
12 pname = "ruffus";
13 version = "2.8.4";
14 format = "setuptools";
15
16 src = fetchFromGitHub {
17 owner = "cgat-developers";
18 repo = pname;
19 rev = "v${version}";
20 sha256 = "0fnzpchwwqsy5h18fs0n90s51w25n0dx0l74j0ka6lvhjl5sxn4c";
21 };
22
23 propagatedBuildInputs = [ gevent ];
24
25 nativeCheckInputs = [
26 hostname
27 pytest
28 ];
29
30 # tests very flaky & hang often on darwin
31 doCheck = !stdenv.isDarwin;
32 # test files do indeed need to be executed separately
33 checkPhase = ''
34 pushd ruffus/test
35 rm test_with_logger.py # spawns 500 processes
36 for f in test_*.py ; do
37 HOME=$TMPDIR pytest -v --disable-warnings $f
38 done
39 popd
40 '';
41 pythonImportsCheck = [ "ruffus" ];
42
43 meta = with lib; {
44 description = "Light-weight Python Computational Pipeline Management";
45 homepage = "http://www.ruffus.org.uk";
46 license = licenses.mit;
47 maintainers = [ maintainers.kiwi ];
48 };
49}