diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/matrix-synapse/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/matrix-synapse/default.nix | 96 |
1 files changed, 72 insertions, 24 deletions
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/default.nix b/nixpkgs/pkgs/servers/matrix-synapse/default.nix index 56650531a65d..ab7d92aef18c 100644 --- a/nixpkgs/pkgs/servers/matrix-synapse/default.nix +++ b/nixpkgs/pkgs/servers/matrix-synapse/default.nix @@ -1,7 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, python3, openssl, cargo, rustPlatform, rustc -, enableSystemd ? lib.meta.availableOn stdenv.hostPlatform python3.pkgs.systemd +{ lib +, stdenv +, fetchFromGitHub +, python3 +, openssl +, cargo +, rustPlatform +, rustc , nixosTests -, enableRedis ? true , callPackage }: @@ -9,23 +14,22 @@ let plugins = python3.pkgs.callPackage ./plugins { }; tools = callPackage ./tools { }; in -with python3.pkgs; -buildPythonApplication rec { +python3.pkgs.buildPythonApplication rec { pname = "matrix-synapse"; - version = "1.89.0"; + version = "1.90.0"; format = "pyproject"; src = fetchFromGitHub { owner = "matrix-org"; repo = "synapse"; rev = "v${version}"; - hash = "sha256-ywDXjwYYCR0ojemRnShDmeoeUlDkpFH/ajFxV2DrR70="; + hash = "sha256-VUbEERQ/UFCroSiz8Y8EsjB+uhFQXLAsK52kM6HTjjY="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - hash = "sha256-Atwa7yIA9kPsle0/DKQD30PJljVNArqWgau4Ueqzo94="; + hash = "sha256-t65rvhkLryzba6eZH1thBMzV7y0y5XMbdbrTxC91blQ="; }; postPatch = '' @@ -34,7 +38,7 @@ buildPythonApplication rec { sed -i '/^setuptools_rust =/d' pyproject.toml ''; - nativeBuildInputs = [ + nativeBuildInputs = with python3.pkgs; [ poetry-core rustPlatform.cargoSetupHook setuptools-rust @@ -42,47 +46,90 @@ buildPythonApplication rec { rustc ]; - buildInputs = [ openssl ]; + buildInputs = [ + openssl + ]; - propagatedBuildInputs = [ - authlib + propagatedBuildInputs = with python3.pkgs; [ + attrs bcrypt bleach canonicaljson - daemonize + cryptography ijson immutabledict jinja2 jsonschema - lxml matrix-common msgpack netaddr + packaging phonenumbers pillow prometheus-client - psutil - psycopg2 pyasn1 + pyasn1-modules pydantic - pyicu pymacaroons - pynacl pyopenssl - pysaml2 pyyaml - requests - setuptools + service-identity signedjson sortedcontainers treq twisted typing-extensions unpaddedbase64 - ] ++ lib.optional enableSystemd systemd - ++ lib.optionals enableRedis [ hiredis txredisapi ]; + ] + ++ twisted.optional-dependencies.tls; + + passthru.optional-dependencies = with python3.pkgs; { + postgres = if isPyPy then [ + psycopg2cffi + ] else [ + psycopg2 + ]; + saml2 = [ + pysaml2 + ]; + oidc = [ + authlib + ]; + systemd = [ + systemd + ]; + url-preview = [ + lxml + ]; + sentry = [ + sentry-sdk + ]; + opentracing = [ + jaeger-client + opentracing + ]; + jwt = [ + authlib + ]; + redis = [ + hiredis + txredisapi + ]; + cache-memory = [ + pympler + ]; + user-search = [ + pyicu + ]; + }; - nativeCheckInputs = [ mock parameterized openssl ]; + nativeCheckInputs = [ + openssl + ] ++ (with python3.pkgs; [ + mock + parameterized + ]) + ++ lib.flatten (lib.attrValues passthru.optional-dependencies); doCheck = !stdenv.isDarwin; @@ -112,6 +159,7 @@ buildPythonApplication rec { meta = with lib; { homepage = "https://matrix.org"; + changelog = "https://github.com/matrix-org/synapse/releases/tag/v${version}"; description = "Matrix reference homeserver"; license = licenses.asl20; maintainers = teams.matrix.members; |