1{ stdenv, buildPythonPackage, fetchPypi, isPy37, fetchpatch, iana-etc, libredirect
2, case, pytest, boto3, moto, kombu, billiard, pytz, anyjson, amqp, eventlet
3}:
4
5buildPythonPackage rec {
6 pname = "celery";
7 version = "4.3.0rc1";
8
9 src = fetchPypi {
10 inherit pname version;
11 sha256 = "1jmg47l0b3bnwmg44x48bwziwyk6xqs1y5plvr99a3ikz1l807yf";
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 checkInputs = [ case pytest boto3 moto ];
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}