Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ stdenv
2, lib
3, buildPythonPackage
4, fetchFromGitHub
5, six
6, eventlet
7, mock
8, iana-etc
9, libredirect
10, aiohttp
11, websockets
12, websocket_client
13, requests
14, tornado
15}:
16
17buildPythonPackage rec {
18 pname = "python-engineio";
19 version = "3.4.3";
20
21 src = fetchFromGitHub {
22 owner = "miguelgrinberg";
23 repo = "python-engineio";
24 rev = "v${version}";
25 sha256 = "0wk81rqigw47z087f5kc7b9iwqggypxc62q8q818qyzqwb93ysxf";
26 };
27
28 propagatedBuildInputs = [
29 six
30 ];
31
32 checkInputs = [
33 eventlet
34 mock
35 aiohttp
36 websockets
37 websocket_client
38 tornado
39 requests
40 ];
41
42 # make /etc/protocols accessible to fix socket.getprotobyname('tcp') in sandbox
43 preCheck = stdenv.lib.optionalString stdenv.isLinux ''
44 export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols \
45 LD_PRELOAD=${libredirect}/lib/libredirect.so
46 '';
47 postCheck = "unset NIX_REDIRECTS LD_PRELOAD";
48
49 meta = with stdenv.lib; {
50 description = "Engine.IO server";
51 homepage = http://github.com/miguelgrinberg/python-engineio/;
52 license = licenses.mit;
53 maintainers = [ maintainers.mic92 ];
54 };
55}