matrix-synapse: update twisted (mail library)

This overrides the python38Packages.twisted derivation to a more recent
version that /hopefully/ doesn't force old tls versions. This includes
using and override on the actual twisted package, and another on the
matrix-synapse packages, which now has parts of its definition repeated
in the overlay since overlays apparently don't propagate into
dependencies of packages (since packages are essentiall functions which
have already been called).

On the one hand, this may break things in case the definition of
matrix-synapse changes too much upstream. On the other hand, it doesn't
seem like anyone update the python packages too often, so probably that
won't happen for a long while.

Additionally, prohibitively long to build, since synapse insists on
running a complete test suite while building itself, and there doesn't
appear to be an obvious version to turn this off. If this situation
continues (also with some of the other packages) I guess at some point
we should just set up hainich as a substitution server for Nix ...
This commit is contained in:
stuebinm 2021-04-22 22:45:52 +02:00
parent 8c9b666bfe
commit 13b8ae5c13
No known key found for this signature in database
GPG key ID: 8FBE8AAD32FA12B7
2 changed files with 57 additions and 0 deletions

54
pkgs/matrix/default.nix Normal file
View file

@ -0,0 +1,54 @@
self: super:
{
python38Packages = super.python3Packages // {
twisted = with super.python3Packages;
twisted.overrideAttrs (old: rec {
version = "21.2.0";
src = fetchPypi {
inherit version;
extension = "tar.gz";
pname = "Twisted";
sha256 = "04jsr67swzj8vn8z64fzbha7vpkm1jz9ns26566vjsfg8n4llm3p";
};
});
};
matrix-synapse = super.matrix-synapse.overrideAttrs (old: {
propagatedBuildInputs = with self.python3Packages; [
setuptools
bcrypt
bleach
canonicaljson
daemonize
frozendict
jinja2
jsonschema
lxml
msgpack
netaddr
phonenumbers
pillow
prometheus_client
psutil
psycopg2
pyasn1
pymacaroons
pynacl
pyopenssl
pysaml2
pyyaml
requests
signedjson
sortedcontainers
treq
twisted
unpaddedbase64
typing-extensions
authlib
pyjwt
systemd
hiredis
];
python = self.python3;
});
}

View file

@ -3,6 +3,9 @@
{
networking.firewall.allowedTCPPorts = [ 80 443 ];
nixpkgs.overlays = [ (import ./../../../pkgs/matrix) ];
services.postgresql.enable = true;
services.postgresql.initialScript = pkgs.writeText "synapse-init.sql" ''
CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse';