diff --git a/net-im/synapse/Manifest b/net-im/synapse/Manifest index d6f2dee58ef9ae..1e35a4d3ae8e39 100644 --- a/net-im/synapse/Manifest +++ b/net-im/synapse/Manifest @@ -29,6 +29,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 @@ -46,6 +47,7 @@ DIST serde_derive-1.0.152.crate 55586 BLAKE2B f133c6cdb87d435ea0c05144e685047fec DIST serde_json-1.0.89.crate 144638 BLAKE2B e296fd2fd3054b81349f246d207de4f7f8072e480a34f1c39afc2d46cdb6b861d1514a8bb64f2f68920e8db43b642814f7f4e989dab95cee62485ca2f8db2e8d SHA512 4bafa5693977e129f5787f2ff10f914e2a7740bf7e631bcdf51b27d0d9e5517873184b56649914371e1881107e7ed0a8fedf487617db334d4a7a4bf95c6c16a3 DIST serde_json-1.0.91.crate 144654 BLAKE2B 857f25cb43f8153ed4266fdc38b0a426ea04edd9e7954ceeab384729abb51ead1378a819eca6ced5cf20ed0cf237548b4c81ad507e3f4684aeb9bfd7e4958684 SHA512 b0bfa3d64fe9fb0d09ec8dcb6e41eba75ad0f0c4e34e0ffd5e2a3230057d7499a57ffda8c1615bea5195ef398afe414f3b0a143a39865123c1c5f976ea1a0337 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 @@ -53,6 +55,7 @@ DIST synapse-1.74.0.gh.tar.gz 8120920 BLAKE2B fa1643bc6153c475577e56477b616b287e DIST synapse-1.75.0.gh.tar.gz 8136760 BLAKE2B 95ae793f567c6e7b8e808f446f69a84a2cf2ca977e0067bc8d130670c78e0d9fbd4aff8ab8b144549c3e74929fc1c1983ad583a55027c53bc8a1b75932bfb322 SHA512 c8d508d10f2820b90069c4d87f5b260ca56ef9f9e91137f87a071d92cdd3d9cf2a16bc065bdc53dee2f021290228d96f8107bcaea7da8c9a5a49271eaae04076 DIST synapse-1.76.0.gh.tar.gz 8159151 BLAKE2B 2ebdf1f4a38957fadd4483356c14747a7046736b893949694e0a663fa3ce2f576cd54000b5e6c6f8880f6277dd7116c2e50217c801edd292b776d745b7a3e3a4 SHA512 c29d4f0d91c415e5bf908e06892e631c04bcf774cd2d699cac919e86fdcfac4c0ff2a75832738b3c874b8fb6126f31dec5d038dc4d126f05c1ca0fba5583d91d 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 00000000000000..2253e597d2dc5f --- /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 00000000000000..2da15407303b83 --- /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 +}