nixpkgs/pkgs/development/python-modules/celery/default.nix

50 lines
1.5 KiB
Nix
Raw Normal View History

2018-07-14 12:27:39 +01:00
{ stdenv, buildPythonPackage, fetchPypi, fetchpatch, iana-etc, libredirect,
2018-01-09 10:34:35 +00:00
pytest, case, kombu, billiard, pytz, anyjson, amqp, eventlet
2018-03-28 19:55:39 +01:00
}:
let
# Needed for celery
pytest_32 = pytest.overridePythonAttrs( oldAttrs: rec {
version = "3.2.5";
src = oldAttrs.src.override {
inherit version;
sha256 = "6d5bd4f7113b444c55a3bbb5c738a3dd80d43563d063fc42dcb0aaefbdd78b81";
};
});
in buildPythonPackage rec {
2018-01-09 10:34:35 +00:00
pname = "celery";
2018-06-12 17:46:58 +01:00
version = "4.2.0";
2018-01-09 10:34:35 +00:00
src = fetchPypi {
inherit pname version;
2018-06-12 17:46:58 +01:00
sha256 = "ff727c115533edbc7b81b2b4ba1ec88d1c2fc4836e1e2f4c3c33a76ff53e5d7f";
2018-01-09 10:34:35 +00:00
};
2018-07-14 12:27:39 +01:00
# Skip test_RedisBackend.test_timeouts_in_url_coerced
# See https://github.com/celery/celery/pull/4847
patches = fetchpatch {
url = https://github.com/celery/celery/commit/b2668607c909c61becd151905b4525190c19ff4a.patch;
sha256 = "11w0z2ycyh8kccj4y69zb7bxppiipcwwigg6jn1q9yrcsvz170jq";
};
2018-01-09 10:34:35 +00:00
# make /etc/protocols accessible to fix socket.getprotobyname('tcp') in sandbox
2018-03-28 19:55:39 +01:00
preCheck = stdenv.lib.optionalString stdenv.isLinux ''
2018-01-09 10:34:35 +00:00
export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols \
LD_PRELOAD=${libredirect}/lib/libredirect.so
'';
2018-03-28 19:55:39 +01:00
postCheck = stdenv.lib.optionalString stdenv.isLinux ''
2018-01-09 10:34:35 +00:00
unset NIX_REDIRECTS LD_PRELOAD
'';
2018-08-30 20:30:19 +01:00
checkInputs = [ pytest_32 case ];
2018-01-09 10:34:35 +00:00
propagatedBuildInputs = [ kombu billiard pytz anyjson amqp eventlet ];
meta = with stdenv.lib; {
homepage = https://github.com/celery/celery/;
description = "Distributed task queue";
license = licenses.bsd3;
};
}