1{ stdenv, buildPythonPackage, fetchPypi, iana-etc, libredirect,
2 pytest, case, kombu, billiard, pytz, anyjson, amqp, eventlet
3}:
4
5buildPythonPackage rec {
6 pname = "celery";
7 version = "4.1.0";
8
9 src = fetchPypi {
10 inherit pname version;
11 sha256 = "0dcb0s6kdcd3vc9pwvazngppkdbhwpmpjmghq6rifsld34q3gzvp";
12 };
13
14 # make /etc/protocols accessible to fix socket.getprotobyname('tcp') in sandbox
15 preCheck = stdenv.lib.optionalString stdenv.isLinux ''
16 export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols \
17 LD_PRELOAD=${libredirect}/lib/libredirect.so
18 '';
19 postCheck = stdenv.lib.optionalString stdenv.isLinux ''
20 unset NIX_REDIRECTS LD_PRELOAD
21 '';
22
23 buildInputs = [ pytest case ];
24 propagatedBuildInputs = [ kombu billiard pytz anyjson amqp eventlet ];
25
26 meta = with stdenv.lib; {
27 homepage = https://github.com/celery/celery/;
28 description = "Distributed task queue";
29 license = licenses.bsd3;
30 };
31}