Archived
1
0
Fork 0

gnu: Add synapse.

* gnu/packages/matrix.scm (synapse): New variable.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
This commit is contained in:
Alex ter Weele 2020-02-29 11:22:06 -06:00 committed by Marius Bakke
parent 0752908415
commit 70c128dc33
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA

View file

@ -18,8 +18,12 @@
(define-module (gnu packages matrix) (define-module (gnu packages matrix)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages python-crypto) #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages xml)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix packages)) #:use-module (guix packages))
@ -50,3 +54,68 @@
This lets users log in to Synapse with their username and password from This lets users log in to Synapse with their username and password from
an LDAP server.") an LDAP server.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public synapse
(package
(name "synapse")
(version "1.11.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "matrix-synapse" version))
(sha256
(base32
"0cqbwcz0fi4w413s1kcxvf696qi4n46n1k4ggnygqri5yq26qlfy"))))
(build-system python-build-system)
;; TODO I think there are custom tests
(propagated-inputs
`(("python-simplejson" ,python-simplejson) ; not attested but required
;; requirements (synapse/python_dependencies.py)
("python-jsonschema" ,python-jsonschema)
("python-frozendict" ,python-frozendict)
("python-unpaddedbase64" ,python-unpaddedbase64)
("python-canonicaljson" ,python-canonicaljson)
("python-signedjson" ,python-signedjson)
("python-pynacl" ,python-pynacl)
("python-idna" ,python-idna)
("python-service-identity" ,python-service-identity)
("python-twisted" ,python-twisted)
("python-treq" ,python-treq)
("python-pyopenssl" ,python-pyopenssl)
("python-pyyaml" ,python-pyyaml)
("python-pyasn1" ,python-pyasn1)
("python-pyasn1-modules" ,python-pyasn1-modules)
("python-daemonize" ,python-daemonize)
("python-bcrypt" ,python-bcrypt)
("python-pillow" ,python-pillow)
("python-sortedcontainers" ,python-sortedcontainers)
("python-pymacaroons" ,python-pymacaroons)
("python-msgpack" ,python-msgpack)
("python-phonenumbers" ,python-phonenumbers)
("python-six" ,python-six)
("python-prometheus-client" ,python-prometheus-client)
("python-attrs" ,python-attrs)
("python-netaddr" ,python-netaddr)
("python-jinja2" ,python-jinja2)
("python-bleach" ,python-bleach)
("python-typing-extensions" ,python-typing-extensions)
;; conditional requirements (synapse/python_dependencies.py)
("python-matrix-synapse-ldap3" ,python-matrix-synapse-ldap3)
("python-psycopg2" ,python-psycopg2)
("python-jinja2" ,python-jinja2)
("python-txacme" ,python-txacme)
("python-pysaml2" ,python-pysaml2)
("python-lxml" ,python-lxml)
;; sentry-sdk, jaeger-client, and opentracing could be included, but
;; all are monitoring aids and not essential.
("python-pyjwt" ,python-pyjwt)))
(native-inputs
`(("python-mock" ,python-mock)
("python-parameterized" ,python-parameterized)))
(home-page "https://github.com/matrix-org/synapse")
(synopsis "Matrix reference homeserver")
(description "Synapse is a reference \"homeserver\" implementation of
Matrix from the core development team at matrix.org, written in
Python/Twisted. It is intended to showcase the concept of Matrix and let
folks see the spec in the context of a codebase and let you run your own
homeserver and generally help bootstrap the ecosystem.")
(license license:asl2.0)))