diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2022-11-07 20:51:39 +0100 | 
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2022-11-07 20:51:39 +0100 | 
| commit | 0e9f1e85cd8c6f9d546ef88e971043b909017170 (patch) | |
| tree | 5cb4d14df7594ef123f20d82cb2ec423b6bca744 /overlays/matrix-synapse/1.70.1/default.nix | |
| parent | f563ddece04adfd8d80d4e984405f5c70a6c94f3 (diff) | |
| download | nixos-0e9f1e85cd8c6f9d546ef88e971043b909017170.tar nixos-0e9f1e85cd8c6f9d546ef88e971043b909017170.tar.gz nixos-0e9f1e85cd8c6f9d546ef88e971043b909017170.tar.bz2 nixos-0e9f1e85cd8c6f9d546ef88e971043b909017170.tar.xz nixos-0e9f1e85cd8c6f9d546ef88e971043b909017170.zip  | |
...
Diffstat (limited to 'overlays/matrix-synapse/1.70.1/default.nix')
| -rw-r--r-- | overlays/matrix-synapse/1.70.1/default.nix | 111 | 
1 files changed, 111 insertions, 0 deletions
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 @@ | |||
| 1 | { lib, stdenv, fetchFromGitHub, python3, openssl, rustPlatform | ||
| 2 | , enableSystemd ? stdenv.isLinux, nixosTests | ||
| 3 | , enableRedis ? true | ||
| 4 | , callPackage | ||
| 5 | }: | ||
| 6 | |||
| 7 | let | ||
| 8 | plugins = python3.pkgs.callPackage ./plugins { }; | ||
| 9 | tools = callPackage ./tools { }; | ||
| 10 | in | ||
| 11 | with python3.pkgs; | ||
| 12 | buildPythonApplication rec { | ||
| 13 | pname = "matrix-synapse"; | ||
| 14 | version = "1.70.1"; | ||
| 15 | format = "pyproject"; | ||
| 16 | |||
| 17 | src = fetchFromGitHub { | ||
| 18 | owner = "matrix-org"; | ||
| 19 | repo = "synapse"; | ||
| 20 | rev = "v${version}"; | ||
| 21 | hash = "sha256-/clEY3sabaDEOAAowQ896vYOvzf5Teevoa7ZkzWw+fY="; | ||
| 22 | }; | ||
| 23 | |||
| 24 | cargoDeps = rustPlatform.fetchCargoTarball { | ||
| 25 | inherit src; | ||
| 26 | name = "${pname}-${version}"; | ||
| 27 | hash = "sha256-9wxWxrn+uPcz60710DROhDqNC6FvTtnqzWiWRk8kl6A="; | ||
| 28 | }; | ||
| 29 | |||
| 30 | postPatch = '' | ||
| 31 | # Remove setuptools_rust from runtime dependencies | ||
| 32 | # https://github.com/matrix-org/synapse/blob/v1.69.0/pyproject.toml#L177-L185 | ||
| 33 | sed -i '/^setuptools_rust =/d' pyproject.toml | ||
| 34 | ''; | ||
| 35 | |||
| 36 | nativeBuildInputs = [ | ||
| 37 | poetry-core | ||
| 38 | rustPlatform.cargoSetupHook | ||
| 39 | setuptools-rust | ||
| 40 | ] ++ (with rustPlatform.rust; [ | ||
| 41 | cargo | ||
| 42 | rustc | ||
| 43 | ]); | ||
| 44 | |||
| 45 | buildInputs = [ openssl ]; | ||
| 46 | |||
| 47 | propagatedBuildInputs = [ | ||
| 48 | authlib | ||
| 49 | bcrypt | ||
| 50 | bleach | ||
| 51 | canonicaljson | ||
| 52 | daemonize | ||
| 53 | frozendict | ||
| 54 | ijson | ||
| 55 | jinja2 | ||
| 56 | jsonschema | ||
| 57 | lxml | ||
| 58 | matrix-common | ||
| 59 | msgpack | ||
| 60 | netaddr | ||
| 61 | phonenumbers | ||
| 62 | pillow | ||
| 63 | prometheus-client | ||
| 64 | psutil | ||
| 65 | psycopg2 | ||
| 66 | pyasn1 | ||
| 67 | pydantic | ||
| 68 | pyjwt | ||
| 69 | pymacaroons | ||
| 70 | pynacl | ||
| 71 | pyopenssl | ||
| 72 | pysaml2 | ||
| 73 | pyyaml | ||
| 74 | requests | ||
| 75 | setuptools | ||
| 76 | signedjson | ||
| 77 | sortedcontainers | ||
| 78 | treq | ||
| 79 | twisted | ||
| 80 | typing-extensions | ||
| 81 | unpaddedbase64 | ||
| 82 | ] ++ lib.optional enableSystemd systemd | ||
| 83 | ++ lib.optionals enableRedis [ hiredis txredisapi ]; | ||
| 84 | |||
| 85 | checkInputs = [ mock parameterized openssl ]; | ||
| 86 | |||
| 87 | doCheck = !stdenv.isDarwin; | ||
| 88 | |||
| 89 | checkPhase = '' | ||
| 90 | runHook preCheck | ||
| 91 | |||
| 92 | # remove src module, so tests use the installed module instead | ||
| 93 | rm -rf ./synapse | ||
| 94 | |||
| 95 | PYTHONPATH=".:$PYTHONPATH" ${python3.interpreter} -m twisted.trial -j $NIX_BUILD_CORES tests | ||
| 96 | |||
| 97 | runHook postCheck | ||
| 98 | ''; | ||
| 99 | |||
| 100 | passthru.tests = { inherit (nixosTests) matrix-synapse; }; | ||
| 101 | passthru.plugins = plugins; | ||
| 102 | passthru.tools = tools; | ||
| 103 | passthru.python = python3; | ||
| 104 | |||
| 105 | meta = with lib; { | ||
| 106 | homepage = "https://matrix.org"; | ||
| 107 | description = "Matrix reference homeserver"; | ||
| 108 | license = licenses.asl20; | ||
| 109 | maintainers = teams.matrix.members; | ||
| 110 | }; | ||
| 111 | } | ||
