diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/entrance/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/entrance/default.nix | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/entrance/default.nix b/nixpkgs/pkgs/development/python-modules/entrance/default.nix new file mode 100644 index 00000000000..67005d577cd --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/entrance/default.nix @@ -0,0 +1,45 @@ +{ lib, fetchPypi, buildPythonPackage, pythonOlder, routerFeatures +, janus, ncclient, paramiko, pyyaml, sanic }: + +let + # The `routerFeatures` flag optionally brings in some somewhat heavy + # dependencies, in order to enable interacting with routers + opts = if routerFeatures then { + prePatch = '' + substituteInPlace ./setup.py --replace "extra_deps = []" "extra_deps = router_feature_deps" + ''; + extraBuildInputs = [ janus ncclient paramiko ]; + } else { + prePatch = ""; + extraBuildInputs = []; + }; + +in + +buildPythonPackage rec { + pname = "entrance"; + version = "1.1.10"; + + src = fetchPypi { + inherit pname version; + sha256 = "080qkvkmfw4004cl721l5bvpg001xz8vs6q59dg797kqxfrwk5kw"; + }; + + # The versions of `sanic` and `websockets` in nixpkgs only support 3.6 or later + disabled = pythonOlder "3.6"; + + # No useful tests + doCheck = false; + + propagatedBuildInputs = [ pyyaml sanic ] ++ opts.extraBuildInputs; + + prePatch = opts.prePatch; + + meta = with lib; { + description = "A server framework for web apps with an Elm frontend"; + homepage = https://github.com/ensoft/entrance; + license = licenses.mit; + maintainers = with maintainers; [ simonchatts ]; + }; +} + |