commit:     59242ff48bf6f4f9611df169c6d0c3209462828c
Author:     Petr Vaněk <arkamar <AT> atlas <DOT> cz>
AuthorDate: Tue Feb 28 18:47:16 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Mar  5 11:19:21 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59242ff4

net-im/synapse: add 1.78.0

Frozendict version restriction is relaxed by reverting change from
upstream PR https://github.com/matrix-org/synapse/pull/15114 because we
don't have any issue with it.

Signed-off-by: Petr Vaněk <arkamar <AT> atlas.cz>
Closes: https://github.com/gentoo/gentoo/pull/29861
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-im/synapse/Manifest                            |   3 +
 .../files/synapse-1.78.0-frozendict-version.patch  |  16 ++
 net-im/synapse/synapse-1.78.0.ebuild               | 203 +++++++++++++++++++++
 3 files changed, 222 insertions(+)

diff --git a/net-im/synapse/Manifest b/net-im/synapse/Manifest
index 4264f787eac3..e785c25dbe3f 100644
--- a/net-im/synapse/Manifest
+++ b/net-im/synapse/Manifest
@@ -26,6 +26,7 @@ DIST pyo3-0.17.3.crate 408939 BLAKE2B 
e67ce34c626dbede3c76abf66ba5078827e8a75644
 DIST pyo3-build-config-0.17.3.crate 29230 BLAKE2B 
193df0c15a2150505c823338e76f4d75e2f28158626edf332da2b10b6a81bfaf7f95a3a32c9f218717504b2f0dd80d3fb61c78ab3df9cb9024c3686f8ca002b0
 SHA512 
92652ffdfb3f6c3c8a1c2f97f5e2ed19175ba6bad5cd0f0c113b569369193aa18d95adc780bbdb8202d815a1ec0b6aeaf40d93d64faab42f4e8b452c806906a2
 DIST pyo3-ffi-0.17.3.crate 62854 BLAKE2B 
3f1c519b210de0aee19b832845c1d44237f780f18173ddc1b1cef5eac1060fab40fd8dbec067a49e4d28fc7edcd0bd751f54438ad42a8b98641de0517052c64b
 SHA512 
c08481d1530207fee544a5dde14253415e5451c1c013b86ac1f0e9bcb3c1df7866764cd11bad523105b6821725560329b89ff689b3aa2f0698cdab148d0fc12e
 DIST pyo3-log-0.7.0.crate 13774 BLAKE2B 
4f70c0fcef4c735e2b36704fda16f987a24acacfafac3cf25cbdef5f95d2a70e05736d171bec48a23d0d85e25acda90d98b4ea2b19f7b5bdfbac2520c0a745e9
 SHA512 
a9170e53a8f745a3f8c271acb629461b902d403e76b47c218660d1e9ab17fa67e44c250b60c15c11c35e68c18135c357c7a6797a91018d42b660b5331e4ee507
+DIST pyo3-log-0.8.1.crate 14082 BLAKE2B 
1920a34d18f1f418857abca05c59f5f9a16d00fc460082c2cbe97bc55b8f429d6433780d667a211beecf4df81a2606aa502ce2a1ebb6c0833b74a604abb5eecb
 SHA512 
d69f7c8e3d1997ca06201c15500a2e0e043f7c0b39c8bd826ce9dbced220b4b0fde0c31b865fbc41f94f188e4b9ea15b49e2e2e42068a82678668f3a51a2fca1
 DIST pyo3-macros-0.17.3.crate 7257 BLAKE2B 
4c5e166a37c31f2cc21b7dce9b46dcdaeea0f12299c421430efe72b47ac954f10680bf6ecb28a5f0058abaf22519f6ce05d21e5de534e362ceb9847049601f4f
 SHA512 
f99d38ea69b1d46599d203908d12eb3fe4869a48b21b3eaba0c9c8e52b9f2b3c5ea72505dcb9b3330450dd724eeba859eef724fe9624ebbd8bd3cbcff7372df1
 DIST pyo3-macros-backend-0.17.3.crate 49992 BLAKE2B 
a922c3c2c1f494002fa8592704c43ddbb4d9bf650187adcfc94f82c1275bcb69d444ede404d1b40bdf1e199427e8de880464b76c7385c2f96633544ad021c4b4
 SHA512 
b4dbddc3ac7ae542560459376127cabdbb4de83c04d70a4efe0976fa94e6ce94a7a62723f689a8fbb1d795fc235b1ac3611f8b4985ae2af0db4a9dc08de48927
 DIST pythonize-0.17.0.crate 10949 BLAKE2B 
6d3c311aae1ef97a2a965124eb23e312f94c4d1e2a8ec17d9316c9fd2f72990b95977a87f722012e4fb54ce0a8be1a2eaac57b71e9d429dbbe59b0da387b2b81
 SHA512 
a9a46d27b8aa9e5bd7bb0b114b7457275131d90e20acd07110fbc18b3af3b9aa0683b9306fb645645f3801b64c0c479998665f3e4fcec0ed8e5b5947008b76bc
@@ -38,10 +39,12 @@ DIST scopeguard-1.1.0.crate 11470 BLAKE2B 
f774eb90b7d3ffb2efba47518e9d1dead4017a
 DIST serde-1.0.152.crate 77091 BLAKE2B 
89c01ce359042ebe6b1b64ea710580886f965a98e1d6085c58a75269a9b43401e2cace080c4c93ee51982855fb7e2f09fdefe9bd237bbf30c5537f3a4258283b
 SHA512 
b47bd58fdc1a81d96cc0c9d14c8b19153b6689e893851975b1d7c7010c4448750e7fa09056dd4f13ed475a4aea2a3950952ff528832976919a6e78504a37bea7
 DIST serde_derive-1.0.152.crate 55586 BLAKE2B 
f133c6cdb87d435ea0c05144e685047fec22b93df7c61df4aa139358c2732326c98d0f62fda629da0f648aaacfc9d6f312813940238f45b359546dd435e7a516
 SHA512 
2f4dffb5671b4758f0b7dc0939f6b5cfe3b3ba02a53c62c75b5a0ec89d2db26bdd95f3e269d1fd4b07ec921bc0ca5f0741c26fdfcd25bd6532ac698c6c701e91
 DIST serde_json-1.0.92.crate 144180 BLAKE2B 
ff8f7ae5539c7febf542bcd8c97a47b5b280d650edde368995e2342f037a611f87d7b42e0dcf7ab89033dbc7fc703f9189bf4022cde6982935690b510585ac10
 SHA512 
4fa760e4105484af6def828894a216059f037ca0286555e4f1ac56e9442ed781bb4ed5c286d264910602992d66cda0d0c15a077d394c21b148b39b389d2f1ee3
+DIST serde_json-1.0.93.crate 144383 BLAKE2B 
e2a824632240f60b51d574f8b44675a38a557e917ac66e7960b303b493604dc369a17870228582bac93faa530b80ecea02b4d5d10ad0b18ab8ce2494ac4154d3
 SHA512 
b6e6f417466f6715a8cb30df2083a82dda794e9fd5fdb1e0b9c97ffae40bec57878580385da0c0e9e5e3ba76aaff629a9dcf40485aca9a288dda2564093d797e
 DIST smallvec-1.10.0.crate 31564 BLAKE2B 
e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147
 SHA512 
a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
 DIST subtle-2.4.1.crate 12630 BLAKE2B 
05a90232bfdc2cf67522e2972bddcd8dc9a165b1d1cf775d0b1c8358fc7c4d0559b2b899126b6688b8ef77b8b7580b3b300f74a599a7ee77f99c064a3917693b
 SHA512 
7fd8234b7ffa3ca7e473539cad958df0842186e1dd735905e0d4977564f40a5f2e18b58180fcbe52614a00964dc150bd9f6964500847ea658f22bffe030f5c6a
 DIST syn-1.0.104.crate 236683 BLAKE2B 
865904923ecac469f1d92bab04ea9ee384be0592c7a303d9d0f2f4bc755744bd883372c215a8f1add8bc2728d7c2c27489ab292fc8a89bdce918fc4a32deae44
 SHA512 
8feabd8e6b1b5eb15077d7c92f0b3269e848d33b1f233b3df343b6d445ed332fb23e0222911a13edfd82cee969d25c43434268cd7a20ce1c0a608a1bbe327b29
 DIST synapse-1.77.0.gh.tar.gz 8180884 BLAKE2B 
1a5ee318e005384d80e1ae0d3d1dfe035263b13b88cdc3319f5eee4f9dd1c51b203bbc4bde9035e82bd976ef7f4314c6ae62601149227557745723c07cafc0fc
 SHA512 
7e9efda255e44efb1916c903ece4d6eacc4ee069d4415bc0bd2723aef655101cfe40be9cfd1a321b1f434e6df0482c792d2dbba8b6c05c1f1ce14cac0a16926b
+DIST synapse-1.78.0.gh.tar.gz 8215627 BLAKE2B 
22e3cb1ef7349548052c81ec09b715848a061bda9fc56563733e292403b975a5ceea0be0b3f39b0f1effc8e25c775d59d4db273422530ccabf2a64ed786eadc5
 SHA512 
fef3bdac42fc8ca6a8642eae840edaba789ccbda78b3a749e90ca5785e232a5ac9e8a3185dfc27f7c6f6f7fdcdb28b53483f884df0b3fc7f7ba9c18e73350698
 DIST target-lexicon-0.12.4.crate 23020 BLAKE2B 
ad9780b9478b00b4fdcb07bd016d83216695413090ac29cca06388c3790e2832c978b1c7e69f6d34bb6fc9adc39c0a0b6b6636e50a9715a9f5f16445dba22d19
 SHA512 
194fe1946ad8d9fdb383bf8a65374e24d216382c1ed5379dabc98d58842512624c32838b8d6d0658d866f6559d37f1343a30c5809e8914dd85790399252b3e06
 DIST typenum-1.15.0.crate 40741 BLAKE2B 
5752d80396d0a37b0069b98ace9efe96d94ccaf41b33b8149c8b8c6a767537dbffe64251bbf61f3812465ecbc8cb45544f177dc97ac9735d84454282e4d1ed66
 SHA512 
a3c1ceac85e1aed98d0829449c35f4f36db860218b955b4e5f8f01da1d27ee6213f3c60e2b25c3745dcd67369049da5de737a9473fa9402db99cf7cddeb42288
 DIST unicode-ident-1.0.5.crate 35455 BLAKE2B 
7e14ce97ac53a88ccec015dea690918a673dc5b49e44de7fdcb5421871da35c4f514c6db9a363d6f4bfcf2e9a61a50a593d345d0b6f388ea882b17a00cd0335d
 SHA512 
d355370daac356d900cd4c0a792d6c0eff114524c4bffce4d7e74469fe2117883ee00bf0e27d950b72e88739473f2045d5f83440a0aedfede97b4d9163b64a6c

diff --git a/net-im/synapse/files/synapse-1.78.0-frozendict-version.patch 
b/net-im/synapse/files/synapse-1.78.0-frozendict-version.patch
new file mode 100644
index 000000000000..2253e597d2dc
--- /dev/null
+++ b/net-im/synapse/files/synapse-1.78.0-frozendict-version.patch
@@ -0,0 +1,16 @@
+Revert frozendict restriction, because we don't have issue with 2.3.5 version.
+This is related to upstream PR https://github.com/matrix-org/synapse/pull/15114
+
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -154,9 +154,7 @@ python = "^3.7.1"
+ # we use the TYPE_CHECKER.redefine method added in jsonschema 3.0.0
+ jsonschema = ">=3.0.0"
+ # frozendict 2.1.2 is broken on Debian 10: 
https://github.com/Marco-Sulla/python-frozendict/issues/41
+-# We cannot test our wheels against the 2.3.5 release in CI. Putting in an 
upper bound for this
+-# because frozendict has been more trouble than it's worth; we would like to 
move to immutabledict.
+-frozendict = ">=1,!=2.1.2,<2.3.5"
++frozendict = ">=1,!=2.1.2"
+ # We require 2.1.0 or higher for type hints. Previous guard was >= 1.1.0
+ unpaddedbase64 = ">=2.1.0"
+ # We require 1.5.0 to work around an issue when running against the C 
implementation of

diff --git a/net-im/synapse/synapse-1.78.0.ebuild 
b/net-im/synapse/synapse-1.78.0.ebuild
new file mode 100644
index 000000000000..2da15407303b
--- /dev/null
+++ b/net-im/synapse/synapse-1.78.0.ebuild
@@ -0,0 +1,203 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=poetry
+
+CRATES="
+       aho-corasick-0.7.19
+       anyhow-1.0.69
+       arc-swap-1.5.1
+       autocfg-1.1.0
+       bitflags-1.3.2
+       blake2-0.10.6
+       block-buffer-0.10.3
+       cfg-if-1.0.0
+       crypto-common-0.1.6
+       digest-0.10.5
+       generic-array-0.14.6
+       hex-0.4.3
+       indoc-1.0.7
+       itoa-1.0.4
+       lazy_static-1.4.0
+       libc-0.2.135
+       lock_api-0.4.9
+       log-0.4.17
+       memchr-2.5.0
+       memoffset-0.6.5
+       once_cell-1.15.0
+       parking_lot-0.12.1
+       parking_lot_core-0.9.3
+       proc-macro2-1.0.46
+       pyo3-0.17.3
+       pyo3-build-config-0.17.3
+       pyo3-ffi-0.17.3
+       pyo3-log-0.8.1
+       pyo3-macros-0.17.3
+       pyo3-macros-backend-0.17.3
+       pythonize-0.17.0
+       quote-1.0.21
+       redox_syscall-0.2.16
+       regex-1.7.1
+       regex-syntax-0.6.27
+       ryu-1.0.11
+       scopeguard-1.1.0
+       serde-1.0.152
+       serde_derive-1.0.152
+       serde_json-1.0.93
+       smallvec-1.10.0
+       subtle-2.4.1
+       syn-1.0.104
+       target-lexicon-0.12.4
+       typenum-1.15.0
+       unicode-ident-1.0.5
+       unindent-0.1.10
+       version_check-0.9.4
+       windows-sys-0.36.1
+       windows_aarch64_msvc-0.36.1
+       windows_i686_gnu-0.36.1
+       windows_i686_msvc-0.36.1
+       windows_x86_64_gnu-0.36.1
+       windows_x86_64_msvc-0.36.1
+"
+
+inherit cargo distutils-r1 multiprocessing optfeature systemd
+
+MY_PV="${PV/_rc/rc}"
+
+DESCRIPTION="Reference implementation of Matrix homeserver"
+HOMEPAGE="
+       https://matrix.org/
+       https://github.com/matrix-org/synapse/
+"
+SRC_URI="
+       https://github.com/matrix-org/${PN}/archive/v${MY_PV}.tar.gz
+               -> ${P}.gh.tar.gz
+       $(cargo_crate_uris)
+"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+       Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+IUSE="postgres systemd test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+       acct-user/synapse
+       acct-group/synapse
+"
+RDEPEND="${DEPEND}
+       dev-python/attrs[${PYTHON_USEDEP}]
+       dev-python/bcrypt[${PYTHON_USEDEP}]
+       dev-python/bleach[${PYTHON_USEDEP}]
+       dev-python/canonicaljson[${PYTHON_USEDEP}]
+       dev-python/cryptography[${PYTHON_USEDEP}]
+       dev-python/frozendict[${PYTHON_USEDEP}]
+       dev-python/ijson[${PYTHON_USEDEP}]
+       >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+       dev-python/jsonschema[${PYTHON_USEDEP}]
+       >=dev-python/matrix-common-1.3.0[${PYTHON_USEDEP}]
+       dev-python/msgpack[${PYTHON_USEDEP}]
+       dev-python/netaddr[${PYTHON_USEDEP}]
+       dev-python/packaging[${PYTHON_USEDEP}]
+       dev-python/phonenumbers[${PYTHON_USEDEP}]
+       dev-python/pillow[${PYTHON_USEDEP},webp]
+       dev-python/prometheus_client[${PYTHON_USEDEP}]
+       dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+       dev-python/pyasn1[${PYTHON_USEDEP}]
+       dev-python/pydantic[${PYTHON_USEDEP}]
+       dev-python/pymacaroons[${PYTHON_USEDEP}]
+       dev-python/pyopenssl[${PYTHON_USEDEP}]
+       dev-python/pyyaml[${PYTHON_USEDEP}]
+       dev-python/service_identity[${PYTHON_USEDEP}]
+       dev-python/signedjson[${PYTHON_USEDEP}]
+       dev-python/sortedcontainers[${PYTHON_USEDEP}]
+       dev-python/treq[${PYTHON_USEDEP}]
+       dev-python/twisted[${PYTHON_USEDEP}]
+       dev-python/typing-extensions[${PYTHON_USEDEP}]
+       dev-python/unpaddedbase64[${PYTHON_USEDEP}]
+       postgres? ( dev-python/psycopg:2[${PYTHON_USEDEP}] )
+       systemd? ( dev-python/python-systemd[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+       dev-python/setuptools-rust[${PYTHON_USEDEP}]
+       test? (
+               dev-python/idna[${PYTHON_USEDEP}]
+               dev-python/parameterized[${PYTHON_USEDEP}]
+               postgres? ( dev-db/postgresql[server] )
+       )
+"
+
+PATCHES=(
+       "${FILESDIR}/${P}-frozendict-version.patch"
+)
+
+# Rust extension
+QA_FLAGS_IGNORED="usr/lib/python3.*/site-packages/synapse/synapse_rust.abi3.so"
+
+src_test() {
+       if use postgres; then
+               initdb --pgdata="${T}/pgsql" || die
+               pg_ctl --wait --pgdata="${T}/pgsql" start \
+                       --options="-h '' -k '${T}'" || die
+               createdb --host="${T}" synapse_test || die
+
+               # See 
https://matrix-org.github.io/synapse/latest/development/contributing_guide.html#running-tests-under-postgresql
+               local -x SYNAPSE_POSTGRES=1
+               local -x SYNAPSE_POSTGRES_HOST="${T}"
+       fi
+
+       # This move is necessary otherwise python is not able to locate
+       # synapse_rust.abi3.so.
+       mv synapse{,.hidden} || die
+
+       distutils-r1_src_test
+
+       if use postgres; then
+               pg_ctl --wait --pgdata="${T}/pgsql" stop || die
+       fi
+}
+
+python_test() {
+       "${EPYTHON}" -m twisted.trial -j "$(makeopts_jobs)" tests || die "Tests 
failed with ${EPYTHON}"
+}
+
+python_install() {
+       distutils-r1_python_install
+       keepdir /var/{lib,log}/synapse /etc/synapse
+       fowners synapse:synapse /var/{lib,log}/synapse /etc/synapse
+       fperms 0750 /var/{lib,log}/synapse /etc/synapse
+       newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+       systemd_dounit "${FILESDIR}/synapse.service"
+}
+
+pkg_postinst() {
+       optfeature "Improve user search for international display names" 
dev-python/pyicu
+       optfeature "VoIP relaying on your homeserver with turn" net-im/coturn
+
+       if [[ -z "${REPLACING_VERSIONS}" ]]; then
+               einfo
+               elog "In order to generate initial configuration run:"
+               elog "sudo -u synapse synapse_homeserver \\"
+               elog "    --server-name matrix.domain.tld \\"
+               elog "    --config-path /etc/synapse/homeserver.yaml \\"
+               elog "    --generate-config \\"
+               elog "    --data-directory /var/lib/synapse \\"
+               elog "    --report-stats=no"
+               einfo
+       else
+               einfo
+               einfo "Please refer to upgrade notes if any special steps are 
required"
+               einfo "to upgrade from the version you currently have 
installed:"
+               einfo
+               einfo "  
https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md";
+               einfo
+       fi
+}

Reply via email to