From 0e9f1e85cd8c6f9d546ef88e971043b909017170 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Mon, 7 Nov 2022 20:51:39 +0100 Subject: ... --- overlays/matrix-synapse/1.70.1/default.nix | 111 +++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 overlays/matrix-synapse/1.70.1/default.nix (limited to 'overlays/matrix-synapse/1.70.1/default.nix') diff --git a/overlays/matrix-synapse/1.70.1/default.nix b/overlays/matrix-synapse/1.70.1/default.nix new file mode 100644 index 00000000..0c026914 --- /dev/null +++ b/overlays/matrix-synapse/1.70.1/default.nix @@ -0,0 +1,111 @@ +{ lib, stdenv, fetchFromGitHub, python3, openssl, rustPlatform +, enableSystemd ? stdenv.isLinux, nixosTests +, enableRedis ? true +, callPackage +}: + +let + plugins = python3.pkgs.callPackage ./plugins { }; + tools = callPackage ./tools { }; +in +with python3.pkgs; +buildPythonApplication rec { + pname = "matrix-synapse"; + version = "1.70.1"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "matrix-org"; + repo = "synapse"; + rev = "v${version}"; + hash = "sha256-/clEY3sabaDEOAAowQ896vYOvzf5Teevoa7ZkzWw+fY="; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + hash = "sha256-9wxWxrn+uPcz60710DROhDqNC6FvTtnqzWiWRk8kl6A="; + }; + + postPatch = '' + # Remove setuptools_rust from runtime dependencies + # https://github.com/matrix-org/synapse/blob/v1.69.0/pyproject.toml#L177-L185 + sed -i '/^setuptools_rust =/d' pyproject.toml + ''; + + nativeBuildInputs = [ + poetry-core + rustPlatform.cargoSetupHook + setuptools-rust + ] ++ (with rustPlatform.rust; [ + cargo + rustc + ]); + + buildInputs = [ openssl ]; + + propagatedBuildInputs = [ + authlib + bcrypt + bleach + canonicaljson + daemonize + frozendict + ijson + jinja2 + jsonschema + lxml + matrix-common + msgpack + netaddr + phonenumbers + pillow + prometheus-client + psutil + psycopg2 + pyasn1 + pydantic + pyjwt + pymacaroons + pynacl + pyopenssl + pysaml2 + pyyaml + requests + setuptools + signedjson + sortedcontainers + treq + twisted + typing-extensions + unpaddedbase64 + ] ++ lib.optional enableSystemd systemd + ++ lib.optionals enableRedis [ hiredis txredisapi ]; + + checkInputs = [ mock parameterized openssl ]; + + doCheck = !stdenv.isDarwin; + + checkPhase = '' + runHook preCheck + + # remove src module, so tests use the installed module instead + rm -rf ./synapse + + PYTHONPATH=".:$PYTHONPATH" ${python3.interpreter} -m twisted.trial -j $NIX_BUILD_CORES tests + + runHook postCheck + ''; + + passthru.tests = { inherit (nixosTests) matrix-synapse; }; + passthru.plugins = plugins; + passthru.tools = tools; + passthru.python = python3; + + meta = with lib; { + homepage = "https://matrix.org"; + description = "Matrix reference homeserver"; + license = licenses.asl20; + maintainers = teams.matrix.members; + }; +} -- cgit v1.2.3