Merge pull request #119126 from fabaff/pycomfoconnect
[NixPkgs.git] / pkgs / development / python-modules / entrance / default.nix
blobca6158bd5e961f02e7eeebf1ba29a0c7926c70ff
1 { lib, fetchPypi, buildPythonPackage, pythonOlder, routerFeatures
2 , janus, ncclient, paramiko, pyyaml, sanic }:
4 let
5   # The `routerFeatures` flag optionally brings in some somewhat heavy
6   # dependencies, in order to enable interacting with routers
7   opts = if routerFeatures then {
8       prePatch = ''
9         substituteInPlace ./setup.py --replace "extra_deps = []" "extra_deps = router_feature_deps"
10       '';
11       extraBuildInputs = [ janus ncclient paramiko ];
12     } else {
13       prePatch = "";
14       extraBuildInputs = [];
15     };
19 buildPythonPackage rec {
20   pname = "entrance";
21   version = "1.1.15";
23   src = fetchPypi {
24     inherit pname version;
25     sha256 = "5b354ecf03226edae567511c8a8db95038cc9c3da20fcfcf5546d1e197eb3aef";
26   };
28   # The versions of `sanic` and `websockets` in nixpkgs only support 3.6 or later
29   disabled = pythonOlder "3.6";
31   # No useful tests
32   doCheck = false;
34   propagatedBuildInputs = [ pyyaml sanic ] ++ opts.extraBuildInputs;
36   prePatch = opts.prePatch;
38   meta = with lib; {
39     description = "A server framework for web apps with an Elm frontend";
40     homepage = "https://github.com/ensoft/entrance";
41     license = licenses.mit;
42     maintainers = with maintainers; [ simonchatts ];
43   };