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.
This commit is contained in:
Peter Hoeg 2018-10-19 12:34:22 +08:00
parent 50602de85e
commit dc74c44e67

View File

@ -1,47 +1,54 @@
{ lib, stdenv, python2Packages, fetchurl, fetchFromGitHub { lib, stdenv, python2
, enableSystemd ? true , enableSystemd ? true
}: }:
with python2.pkgs;
let let
matrix-angular-sdk = python2Packages.buildPythonPackage rec { matrix-angular-sdk = buildPythonPackage rec {
name = "matrix-angular-sdk-${version}"; pname = "matrix-angular-sdk";
version = "0.6.8"; version = "0.6.8";
src = fetchurl { src = fetchPypi {
url = "mirror://pypi/m/matrix-angular-sdk/matrix-angular-sdk-${version}.tar.gz"; inherit pname version;
sha256 = "0gmx4y5kqqphnq3m7xk2vpzb0w2a4palicw7wfdr1q2schl9fhz2"; 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"; pname = "matrix-synapse-ldap3";
version = "0.1.3"; version = "0.1.3";
src = fetchFromGitHub { src = fetchPypi {
owner = "matrix-org"; inherit pname version;
repo = "matrix-synapse-ldap3"; sha256 = "0a0d1y9yi0abdkv6chbmxr3vk36gynnqzrjhbg26q4zg06lh9kgn";
rev = "v${version}";
sha256 = "0ss7ld3bpmqm8wcs64q1kb7vxlpmwk9lsgq0mh21a9izyfc7jb2l";
}; };
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"; version = "0.33.8";
src = fetchFromGitHub { src = fetchPypi {
owner = "matrix-org"; inherit pname version;
repo = "synapse"; sha256 = "0j8knnqpkidkmpwr2i1k9cwlnwfqpzn3q6ysjvrwpa76hpfcg40l";
rev = "v${version}";
sha256 = "122ba09xkc1x35qaajcynkjikg342259rgy81m8abz0l8mcg4mkm";
}; };
patches = [ patches = [
./matrix-synapse.patch ./matrix-synapse.patch
]; ];
propagatedBuildInputs = with python2Packages; [ propagatedBuildInputs = [
bcrypt bcrypt
bleach bleach
canonicaljson canonicaljson
@ -75,12 +82,12 @@ in python2Packages.buildPythonApplication rec {
unpaddedbase64 unpaddedbase64
] ++ lib.optional enableSystemd systemd; ] ++ 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; doCheck = true;
checkPhase = "python -m twisted.trial test"; checkPhase = "python -m twisted.trial test";
buildInputs = with python2Packages; [ checkInputs = [ mock setuptoolsTrial ];
mock setuptoolsTrial
];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://matrix.org; homepage = https://matrix.org;