Skip to content

Commit

Permalink
net-im/synapse: add 1.78.0
Browse files Browse the repository at this point in the history
Frozendict version restriction is relaxed by reverting change from
upstream PR matrix-org/synapse#15114 because we
don't have any issue with it.

Signed-off-by: Petr Vaněk <[email protected]>
  • Loading branch information
arkamar committed Mar 4, 2023
1 parent d291ce2 commit bb0f767
Show file tree
Hide file tree
Showing 3 changed files with 222 additions and 0 deletions.
3 changes: 3 additions & 0 deletions net-im/synapse/Manifest
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
16 changes: 16 additions & 0 deletions net-im/synapse/files/synapse-1.78.0-frozendict-version.patch
Original file line number Diff line number Diff line change
@@ -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
203 changes: 203 additions & 0 deletions net-im/synapse/synapse-1.78.0.ebuild
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit bb0f767

Please sign in to comment.