summary refs log tree commit diff
path: root/pkgs/servers/matrix-synapse
diff options
context:
space:
mode:
authorPeter Hoeg <peter@hoeg.com>2018-10-19 12:34:22 +0800
committerPeter Hoeg <peter@hoeg.com>2018-11-08 16:23:32 +0800
commitdc74c44e6732bd6812a75defeb12fa0096455a6f (patch)
tree64aab4ffbbb353b3b657d745138444034c50377c /pkgs/servers/matrix-synapse
parent50602de85e3da378e6ccc449a2a75bc5b5da7d9b (diff)
downloadnixpkgs-dc74c44e6732bd6812a75defeb12fa0096455a6f.tar
nixpkgs-dc74c44e6732bd6812a75defeb12fa0096455a6f.tar.gz
nixpkgs-dc74c44e6732bd6812a75defeb12fa0096455a6f.tar.bz2
nixpkgs-dc74c44e6732bd6812a75defeb12fa0096455a6f.tar.lz
nixpkgs-dc74c44e6732bd6812a75defeb12fa0096455a6f.tar.xz
nixpkgs-dc74c44e6732bd6812a75defeb12fa0096455a6f.tar.zst
nixpkgs-dc74c44e6732bd6812a75defeb12fa0096455a6f.zip
matrix-synapse: prepare for python3 switch
With this commit, we *can* swap python2 for python3 to run synapse using python3
instead.

The reason for not making the switch is that a number of CLI tools provided with
synapse do not yet work under py3 despite synapse running fine.

So this doesn't actually do anything on its own except to prepare for the
upcoming py3 switch.
Diffstat (limited to 'pkgs/servers/matrix-synapse')
-rw-r--r--pkgs/servers/matrix-synapse/default.nix55
1 files changed, 31 insertions, 24 deletions
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index e0c666b002a..ba89dc7bdb7 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -1,47 +1,54 @@
-{ lib, stdenv, python2Packages, fetchurl, fetchFromGitHub
+{ lib, stdenv, python2
 , enableSystemd ? true
 }:
+
+with python2.pkgs;
+
 let
-  matrix-angular-sdk = python2Packages.buildPythonPackage rec {
-    name = "matrix-angular-sdk-${version}";
+  matrix-angular-sdk = buildPythonPackage rec {
+    pname = "matrix-angular-sdk";
     version = "0.6.8";
 
-    src = fetchurl {
-      url = "mirror://pypi/m/matrix-angular-sdk/matrix-angular-sdk-${version}.tar.gz";
+    src = fetchPypi {
+      inherit pname version;
       sha256 = "0gmx4y5kqqphnq3m7xk2vpzb0w2a4palicw7wfdr1q2schl9fhz2";
     };
+
+    # no checks from Pypi but as this is abandonware, there will be no
+    # new version anyway
+    doCheck = false;
   };
-  matrix-synapse-ldap3 = python2Packages.buildPythonPackage rec {
+
+  matrix-synapse-ldap3 = buildPythonPackage rec {
     pname = "matrix-synapse-ldap3";
     version = "0.1.3";
 
-    src = fetchFromGitHub {
-      owner = "matrix-org";
-      repo = "matrix-synapse-ldap3";
-      rev = "v${version}";
-      sha256 = "0ss7ld3bpmqm8wcs64q1kb7vxlpmwk9lsgq0mh21a9izyfc7jb2l";
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "0a0d1y9yi0abdkv6chbmxr3vk36gynnqzrjhbg26q4zg06lh9kgn";
     };
 
-    propagatedBuildInputs = with python2Packages; [ service-identity ldap3 twisted ];
+    propagatedBuildInputs = [ service-identity ldap3 twisted ];
 
-    checkInputs = with python2Packages; [ ldaptor mock ];
+    # ldaptor is not ready for py3 yet
+    doCheck = !isPy3k;
+    checkInputs = [ ldaptor mock ];
   };
-in python2Packages.buildPythonApplication rec {
-  name = "matrix-synapse-${version}";
+
+in buildPythonApplication rec {
+  pname = "matrix-synapse";
   version = "0.33.8";
 
-  src = fetchFromGitHub {
-    owner = "matrix-org";
-    repo = "synapse";
-    rev = "v${version}";
-    sha256 = "122ba09xkc1x35qaajcynkjikg342259rgy81m8abz0l8mcg4mkm";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0j8knnqpkidkmpwr2i1k9cwlnwfqpzn3q6ysjvrwpa76hpfcg40l";
   };
 
   patches = [
     ./matrix-synapse.patch
   ];
 
-  propagatedBuildInputs = with python2Packages; [
+  propagatedBuildInputs = [
     bcrypt
     bleach
     canonicaljson
@@ -75,12 +82,12 @@ in python2Packages.buildPythonApplication rec {
     unpaddedbase64
   ] ++ lib.optional enableSystemd systemd;
 
+  # tests fail under py3 for now, but version 0.34.0 will use py3 by default
+  # https://github.com/matrix-org/synapse/issues/4036
   doCheck = true;
   checkPhase = "python -m twisted.trial test";
 
-  buildInputs = with python2Packages; [
-    mock setuptoolsTrial
-  ];
+  checkInputs = [ mock setuptoolsTrial ];
 
   meta = with stdenv.lib; {
     homepage = https://matrix.org;