biome: 1.9.2 -> 1.9.3 (#349335)
[NixPkgs.git] / pkgs / development / python-modules / entrance / default.nix
blob960e629d1474b271e086cb3f40968fdcc8ae39f6
2   lib,
3   fetchPypi,
4   buildPythonPackage,
5   pythonOlder,
6   routerFeatures,
7   setuptools,
8   janus,
9   ncclient,
10   paramiko,
11   pyyaml,
12   sanic,
15 let
16   # The `routerFeatures` flag optionally brings in some somewhat heavy
17   # dependencies, in order to enable interacting with routers
18   opts =
19     if routerFeatures then
20       {
21         prePatch = ''
22           substituteInPlace ./setup.py --replace-fail "extra_deps = []" "extra_deps = router_feature_deps"
23         '';
24         extraBuildInputs = [
25           janus
26           ncclient
27           paramiko
28         ];
29       }
30     else
31       {
32         prePatch = "";
33         extraBuildInputs = [ ];
34       };
37 buildPythonPackage rec {
38   pname = "entrance";
39   version = "1.1.20";
40   pyproject = true;
42   src = fetchPypi {
43     inherit pname version;
44     hash = "sha256-PvsP6HXCllW102h3o7abz9uC2AZTwvg5qIqP+rdkk6Y=";
45   };
47   # The versions of `sanic` and `websockets` in nixpkgs only support 3.6 or later
48   disabled = pythonOlder "3.6";
50   # No useful tests
51   doCheck = false;
53   build-system = [ setuptools ];
55   dependencies = [
56     pyyaml
57     sanic
58   ] ++ opts.extraBuildInputs;
60   prePatch = opts.prePatch;
62   meta = with lib; {
63     description = "Server framework for web apps with an Elm frontend";
64     homepage = "https://github.com/ensoft/entrance";
65     license = licenses.mit;
66     maintainers = with maintainers; [ simonchatts ];
67   };