diff --git a/newsfragments/3304.minor b/newsfragments/3304.minor new file mode 100644 index 000000000..e69de29bb diff --git a/nix/autobahn.nix b/nix/autobahn.nix new file mode 100644 index 000000000..83148c4f8 --- /dev/null +++ b/nix/autobahn.nix @@ -0,0 +1,34 @@ +{ lib, buildPythonPackage, fetchPypi, isPy3k, + six, txaio, twisted, zope_interface, cffi, futures, + mock, pytest, cryptography, pynacl +}: +buildPythonPackage rec { + pname = "autobahn"; + version = "19.8.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "294e7381dd54e73834354832604ae85567caf391c39363fed0ea2bfa86aa4304"; + }; + + propagatedBuildInputs = [ six txaio twisted zope_interface cffi cryptography pynacl ] ++ + (lib.optionals (!isPy3k) [ futures ]); + + checkInputs = [ mock pytest ]; + checkPhase = '' + runHook preCheck + USE_TWISTED=true py.test $out + runHook postCheck + ''; + + # Tests do no seem to be compatible yet with pytest 5.1 + # https://github.com/crossbario/autobahn-python/issues/1235 + doCheck = false; + + meta = with lib; { + description = "WebSocket and WAMP in Python for Twisted and asyncio."; + homepage = "https://crossbar.io/autobahn"; + license = licenses.mit; + maintainers = with maintainers; [ nand0p ]; + }; +} diff --git a/nix/overlays.nix b/nix/overlays.nix index 08d11306e..2a9fe8e5e 100644 --- a/nix/overlays.nix +++ b/nix/overlays.nix @@ -7,6 +7,9 @@ self: super: { # conflicts with the packaged version of Twisted. Supply our own # slightly newer version. nevow = python-super.callPackage ./nevow.nix { }; + # NixOS autobahn package has trollius as a dependency, although + # it is optional. Trollius is unmaintained and fails on CI. + autobahn = python-super.callPackage ./autobahn.nix { }; }; }; }