diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/matrix-synapse/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/matrix-synapse/default.nix | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/default.nix b/nixpkgs/pkgs/servers/matrix-synapse/default.nix new file mode 100644 index 000000000000..fbcec04e5320 --- /dev/null +++ b/nixpkgs/pkgs/servers/matrix-synapse/default.nix @@ -0,0 +1,82 @@ +{ lib, stdenv, python3, openssl +, enableSystemd ? stdenv.isLinux, nixosTests +}: + +with python3.pkgs; + +let + plugins = python3.pkgs.callPackage ./plugins { }; +in +buildPythonApplication rec { + pname = "matrix-synapse"; + version = "1.15.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "1hfyqp5bzsqp002synxp9jcm9fwzw9p0gcklmycmv616x3flylkf"; + }; + + patches = [ + # adds an entry point for the service + ./homeserver-script.patch + ]; + + propagatedBuildInputs = [ + setuptools + bcrypt + bleach + canonicaljson + daemonize + frozendict + jinja2 + jsonschema + lxml + msgpack + netaddr + phonenumbers + pillow + (prometheus_client.overrideAttrs (x: { + src = fetchPypi { + pname = "prometheus_client"; + version = "0.3.1"; + sha256 = "093yhvz7lxl7irnmsfdnf2030lkj4gsfkg6pcmy4yr1ijk029g0p"; + }; + })) + psutil + psycopg2 + pyasn1 + pymacaroons + pynacl + pyopenssl + pysaml2 + pyyaml + requests + signedjson + sortedcontainers + treq + twisted + unpaddedbase64 + typing-extensions + authlib + pyjwt + ] ++ lib.optional enableSystemd systemd; + + checkInputs = [ mock parameterized openssl ]; + + doCheck = !stdenv.isDarwin; + + checkPhase = '' + PYTHONPATH=".:$PYTHONPATH" ${python3.interpreter} -m twisted.trial tests + ''; + + passthru.tests = { inherit (nixosTests) matrix-synapse; }; + passthru.plugins = plugins; + passthru.python = python3; + + meta = with stdenv.lib; { + homepage = "https://matrix.org"; + description = "Matrix reference homeserver"; + license = licenses.asl20; + maintainers = teams.matrix.members; + }; +} |