Index: net-im/py-matrix-synapse/Makefile =================================================================== --- net-im/py-matrix-synapse/Makefile +++ net-im/py-matrix-synapse/Makefile @@ -3,7 +3,7 @@ PORTNAME= matrix-synapse DISTVERSIONPREFIX= v -DISTVERSION= 0.34.1.1 +DISTVERSION= 0.99.2 CATEGORIES= net-im python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -13,6 +13,12 @@ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE +# dependencies that are less than required by synapse +# # see synapse-0.99.2/synapse/python_dependencies.py: +# +# twisted should be 18.7 (major version) +# pymacaroons-pynacl should be 0.13.0 + # Keep the RUN_DEPENDS layout similar to the master/synapse/python_dependencies.py file RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}jsonschema>=2.5.1:devel/py-jsonschema@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}frozendict>=1:devel/py-frozendict@${PY_FLAVOR} \ @@ -21,7 +27,7 @@ ${PYTHON_PKGNAMEPREFIX}signedjson>=1.0.0:security/py-signedjson@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pynacl>=1.2.1:security/py-pynacl@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}service_identity>=16.0.0:security/py-service_identity@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}twisted>=17.1.0:devel/py-twisted@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}twisted>=17.9.0:devel/py-twisted@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}treq>=15.1:www/py-treq@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}openssl>=16.0.0:security/py-openssl@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml@${PY_FLAVOR} \ @@ -32,13 +38,13 @@ ${PYTHON_PKGNAMEPREFIX}pillow>=3.1.2:graphics/py-pillow@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sortedcontainers>=1.4.4:devel/py-sortedcontainers@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}psutil>=2.0.0:sysutils/py-psutil@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pysaml2>=4.0.2:security/py-pysaml2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pysaml2>=4.5.0:security/py-pysaml2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pymacaroons-pynacl>=0.9.3:security/py-pymacaroons-pynacl@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}msgpack>=0.4.2:devel/py-msgpack@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}msgpack>=0.5.0:devel/py-msgpack@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}phonenumbers>=8.2.0:devel/py-phonenumbers@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}six>=1.10:devel/py-six@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}prometheus-client>=0.2.0:net-mgmt/py-prometheus-client@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}attrs>16.0.0:devel/py-attrs@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}attrs>17.4.0:devel/py-attrs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}netaddr>=0.7.18:net/py-netaddr@${PY_FLAVOR} # Dependencies that aren't declared in python_dependencies.py which I have discovered @@ -77,10 +83,10 @@ OPTIONS_DEFAULT= SQLITE EMAIL_DESC= Email notifications for missed messages URL_PREVIEW_DESC= Add dependencies necessary for URL previews -EMAIL_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.8:devel/py-Jinja2@${PY_FLAVOR} \ +EMAIL_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.9:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}bleach>=1.4.2:www/py-bleach@${PY_FLAVOR} LDAP_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}matrix-synapse-ldap3>=0.1:net/py-matrix-synapse-ldap3@${PY_FLAVOR} -PGSQL_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}psycopg2>0:databases/py-psycopg2@${PY_FLAVOR} +PGSQL_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}psycopg2>=2.6:databases/py-psycopg2@${PY_FLAVOR} SQLITE_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} post-patch: Index: net-im/py-matrix-synapse/distinfo =================================================================== --- net-im/py-matrix-synapse/distinfo +++ net-im/py-matrix-synapse/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1547138548 -SHA256 (matrix-org-synapse-v0.34.1.1_GH0.tar.gz) = bfc1997c3a8dc48eb9eb02956df6a24ad8337e4eac0faa13cb581d3a694825f7 -SIZE (matrix-org-synapse-v0.34.1.1_GH0.tar.gz) = 1131071 +TIMESTAMP = 1552734189 +SHA256 (matrix-org-synapse-v0.99.2_GH0.tar.gz) = d61636bbfa14e4b7ade633723cf63903b350c888d837de760eac8902b7d69329 +SIZE (matrix-org-synapse-v0.99.2_GH0.tar.gz) = 1186956 Index: net-im/py-matrix-synapse/files/patch-python_dependencies.py =================================================================== --- net-im/py-matrix-synapse/files/patch-python_dependencies.py +++ net-im/py-matrix-synapse/files/patch-python_dependencies.py @@ -1,11 +0,0 @@ ---- synapse/python_dependencies.py.orig 2019-01-10 17:51:27.362204447 +0100 -+++ synapse/python_dependencies.py 2019-01-10 17:51:47.559224870 +0100 -@@ -58,7 +58,7 @@ - "six>=1.10", - # prometheus_client 0.4.0 changed the format of counter metrics - # (cf https://github.com/matrix-org/synapse/issues/4001) -- "prometheus_client>=0.0.18,<0.4.0", -+ "prometheus_client>=0.0.18", - # we use attr.s(slots), which arrived in 16.0.0 - "attrs>=16.0.0", - "netaddr>=0.7.18", Index: net-im/py-matrix-synapse/files/patch-synapse_python__dependencies.py =================================================================== --- /dev/null +++ net-im/py-matrix-synapse/files/patch-synapse_python__dependencies.py @@ -0,0 +1,30 @@ +--- synapse/python_dependencies.py.orig 2019-03-01 10:56:22 UTC ++++ synapse/python_dependencies.py +@@ -43,7 +43,7 @@ REQUIREMENTS = [ + + # our logcontext handling relies on the ability to cancel inlineCallbacks + # (https://twistedmatrix.com/trac/ticket/4632) which landed in Twisted 18.7. +- "Twisted>=18.7.0", ++ "Twisted>=17.9.0", + + "treq>=15.1", + # Twisted has required pyopenssl 16.0 since about Twisted 16.6. +@@ -56,13 +56,16 @@ REQUIREMENTS = [ + "pillow>=3.1.2", + "sortedcontainers>=1.4.4", + "psutil>=2.0.0", +- "pymacaroons>=0.13.0", ++ "pymacaroons-pynacl>=0.9.3", + "msgpack>=0.5.0", + "phonenumbers>=8.2.0", + "six>=1.10", + # prometheus_client 0.4.0 changed the format of counter metrics + # (cf https://github.com/matrix-org/synapse/issues/4001) +- "prometheus_client>=0.0.18,<0.4.0", ++ # FreeBSD Ports: as mentioned in above issue and https://github.com/matrix-org/synapse/issues/4221 ++ # and https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234828 ++ # Prometheus monitoring is currently broken on FreeBSD. ++ "prometheus_client>=0.6.0", + + # we use attr.s(slots), which arrived in 16.0.0 + # Twisted 18.7.0 requires attrs>=17.4.0 Index: net-im/py-matrix-synapse/files/pkg-message.in =================================================================== --- net-im/py-matrix-synapse/files/pkg-message.in +++ net-im/py-matrix-synapse/files/pkg-message.in @@ -1,4 +1,4 @@ -Configuring Synapse: +# Configuring Synapse: You may use the sample config located at %%ETCDIR%% to get started. It already is configured to find the configuration in that location and @@ -8,15 +8,23 @@ by default are 50 character random strings. These are by default set to CHANGEME_50CHAR_RANDOM in the sample homeserver.yaml. -If you wish to have Synapse handle this for you including generation of -self-signed TLS certificates and dhparams you can use the following -command: +## Certificates -%%PYTHON_CMD%% -B -m synapse.app.homeserver -c %%ETCDIR%%/homeserver.yaml --generate-config -H --report-stats no +Synapse v1.0 will require valid TLS certificates for communication +between servers (port 8448 by default) in addition to those that are +client-facing (port 443). If you do not already have a valid +certificate for your domain, the easiest way to get one is with +Synapse's new ACME support. +See https://github.com/matrix-org/synapse/blob/master/docs/ACME.md + +## Logging Please note that you will still need to manually configure paths to log directory, database, and media storage with this method. -It is also important that you deploy a TLS certificate that your -clients accept as valid or some functionality will fail to work -correctly (eg, media file retrieval). +# Prometheus Metrics + +Prometheus metrics support is broken on FreeBSD due to depdendency conflicts: + - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234828 + - https://github.com/matrix-org/synapse/issues/4221 +