about summary refs log tree commit diff
path: root/pkgs/servers/matrix-synapse/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers/matrix-synapse/default.nix')
-rw-r--r--pkgs/servers/matrix-synapse/default.nix64
1 files changed, 64 insertions, 0 deletions
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
new file mode 100644
index 000000000000..302aa8d55932
--- /dev/null
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -0,0 +1,64 @@
+{ lib, pkgs, stdenv, pythonPackages, fetchurl, fetchFromGitHub, fetchpatch }:
+let
+  matrix-angular-sdk = pythonPackages.buildPythonPackage rec {
+    name = "matrix-angular-sdk-${version}";
+    version = "0.6.8";
+
+    src = fetchurl {
+      url = "mirror://pypi/m/matrix-angular-sdk/matrix-angular-sdk-${version}.tar.gz";
+      sha256 = "0gmx4y5kqqphnq3m7xk2vpzb0w2a4palicw7wfdr1q2schl9fhz2";
+    };
+  };
+  matrix-synapse-ldap3 = pythonPackages.buildPythonPackage rec {
+    pname = "matrix-synapse-ldap3";
+    version = "0.1.3";
+
+    src = fetchFromGitHub {
+      owner = "matrix-org";
+      repo = "matrix-synapse-ldap3";
+      rev = "v${version}";
+      sha256 = "0ss7ld3bpmqm8wcs64q1kb7vxlpmwk9lsgq0mh21a9izyfc7jb2l";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [ service-identity ldap3 twisted ];
+
+    checkInputs = with pythonPackages; [ ldaptor mock ];
+  };
+in pythonPackages.buildPythonApplication rec {
+  name = "matrix-synapse-${version}";
+  version = "0.31.2";
+
+  src = fetchFromGitHub {
+    owner = "matrix-org";
+    repo = "synapse";
+    rev = "v${version}";
+    sha256 = "15nfdq5s0d4bv1in6vymhq70hpz48p0nlzx25wxpibbrix630h8q";
+  };
+
+  patches = [
+    ./matrix-synapse.patch
+  ];
+
+  propagatedBuildInputs = with pythonPackages; [
+    blist canonicaljson daemonize dateutil frozendict pillow pyasn1
+    pydenticon pymacaroons-pynacl pynacl pyopenssl pysaml2 pytz requests
+    signedjson systemd twisted ujson unpaddedbase64 pyyaml prometheus_client
+    matrix-angular-sdk bleach netaddr jinja2 psycopg2
+    psutil msgpack-python lxml matrix-synapse-ldap3
+    phonenumbers jsonschema affinity bcrypt
+  ];
+
+  # Checks fail because of Tox.
+  doCheck = false;
+
+  buildInputs = with pythonPackages; [
+    mock setuptoolsTrial
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://matrix.org;
+    description = "Matrix reference homeserver";
+    license = licenses.asl20;
+    maintainers = [ maintainers.ralith maintainers.roblabla ];
+  };
+}