From 9e2bdf14b6eb22672991055c6b1e0fd244248a2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Van=C4=9Bk?= Date: Wed, 29 Oct 2025 14:42:40 +0100 Subject: [PATCH] net-im/synapse: add 1.141.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Petr Vaněk --- net-im/synapse/Manifest | 1 + net-im/synapse/synapse-1.141.0.ebuild | 356 ++++++++++++++++++++++++++ 2 files changed, 357 insertions(+) create mode 100644 net-im/synapse/synapse-1.141.0.ebuild diff --git a/net-im/synapse/Manifest b/net-im/synapse/Manifest index d38f2d2683bd5..53185a2864e5d 100644 --- a/net-im/synapse/Manifest +++ b/net-im/synapse/Manifest @@ -152,6 +152,7 @@ DIST syn-2.0.104.crate 299699 BLAKE2B f64d2267abe9140456dd31d52ada0c75bfa3e4e011 DIST synapse-1.138.4.gh.tar.gz 9118822 BLAKE2B 242710d14a618bc15b990acb2df62ba9d4b648ba8adbfa609eef7b110990887cde563bf6f576825f151189d37ad6de616125369bb01069ea396ffa9d711e1ea4 SHA512 1b9c0226d42b1d7005c9eeeaf9048641734663e431c33c7d7ef6fd1639f1d9a07d63bcda61c316d70f038487b5418cf4a972b06a7413ecdb42c2fc7c737512b0 DIST synapse-1.139.2.gh.tar.gz 9143758 BLAKE2B 510316a4a1e9e228acde7128418c4219b8d827d49767f015098ff395acb11101162fc06287132742c9e8c7f9ef70f929337b8da72ae61fa03f19e2e642088e5b SHA512 59e2d09fc24c60dcf79ebe6da350b93db9df722469b89eeeb1f1e248f6613b477118a6f4659fa5144250db09e6776786b467216b7f8e5e74e4b4a43d7082fc22 DIST synapse-1.140.0.gh.tar.gz 9182247 BLAKE2B b75fb1b4928abd51668c0805221f573d9556928ee59de40b0a36e400c64c131df3c6e31ca283d8173ea4e5370ba36e60e7820858b0454c15d8476480127ef51b SHA512 adeb9d65ffd16d65d5f2af0a5e8bd91edb8c56f3f8de12cfe90f4a66e41b38f4b23f2f850d0c556db83f608aa4b804b3e8543fc93060de89ec9ae3b6573ba08d +DIST synapse-1.141.0.gh.tar.gz 9184982 BLAKE2B 9e53cae480adbaf368c4d5a5b2a25828ce327f535ba6fd0ee5607fcf5c72460c64ab9caa106178159519bc08a7025537746a6195101e09ca8f1f375107faa54a SHA512 068f3e1ac81d4676363909fbcd5690dcf6604e9050e853b61fc2564d9456b37d7db62acccf353bd44b9938686bc24953a4cd2fc7755722d321027f79a5d02990 DIST sync_wrapper-1.0.2.crate 6958 BLAKE2B b2e162f982ea827229dcff468bcf31c6286c57ea3491a909784cdb50b0ba36c3a1a6fbdc7b34fc2aa9a7df1d174393d61ea9dc7ab3439a5e1a1884e2473a70f8 SHA512 aa314a6ab3ba028d2a169ea55a50eecf3b73b475a81c91330430ece9f1734296562627a8c32fad51b5a26796931f364e2803b3a13075ccd9a0aa614d5220903c DIST synstructure-0.13.2.crate 18950 BLAKE2B c475f370d901a371262f466dd98e3914dd6f36aa473a33362866c0f781d27b1813233f96b02208f3463a825e8012cab0f8872eed848d9aa0eac88b581a0d261e SHA512 2698f4e80b93f7cf1d8ae97c4c42a7f61e7b7081f7f1bbb94d7f48ab7ae813a666d73c49ba3812cda9155e0138b55cc246fb96e5858e411a8d32bafb3e2b2afb DIST target-lexicon-0.13.2.crate 27923 BLAKE2B 0761f0ffdc23b9c9df86b384d59611c7b8b5e29ff068f03367ad2fe84cfb6d11e1af149b9338236978e9566fedc51387db9f239d2a602db41045ac3db907faec SHA512 d25e3cc3d679cb6b6f24c03e0c24db9d6ca31b8ed42ac9531bd7637557fbba225a6c8ac4f68a8eaf3569195814d599e668a968afbc73b940a77cbc27552cc90a diff --git a/net-im/synapse/synapse-1.141.0.ebuild b/net-im/synapse/synapse-1.141.0.ebuild new file mode 100644 index 0000000000000..99d27bb198b68 --- /dev/null +++ b/net-im/synapse/synapse-1.141.0.ebuild @@ -0,0 +1,356 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_{11..13} ) + +RUST_MIN_VER="1.82.0" +CRATES=" + addr2line@0.24.2 + adler2@2.0.1 + aho-corasick@1.1.3 + anyhow@1.0.100 + arc-swap@1.7.1 + atomic-waker@1.1.2 + autocfg@1.5.0 + backtrace@0.3.75 + base64@0.22.1 + bitflags@2.9.1 + blake2@0.10.6 + block-buffer@0.10.4 + bumpalo@3.19.0 + bytes@1.10.1 + cc@1.2.30 + cfg-if@1.0.1 + cfg_aliases@0.2.1 + core-foundation-sys@0.8.7 + core-foundation@0.10.1 + core_maths@0.1.1 + cpufeatures@0.2.17 + crypto-common@0.1.6 + digest@0.10.7 + displaydoc@0.2.5 + equivalent@1.0.2 + fnv@1.0.7 + form_urlencoded@1.2.1 + futures-channel@0.3.31 + futures-core@0.3.31 + futures-executor@0.3.31 + futures-io@0.3.31 + futures-macro@0.3.31 + futures-sink@0.3.31 + futures-task@0.3.31 + futures-util@0.3.31 + futures@0.3.31 + generic-array@0.14.7 + getrandom@0.2.16 + getrandom@0.3.3 + gimli@0.31.1 + h2@0.4.11 + hashbrown@0.15.4 + headers-core@0.3.0 + headers@0.4.1 + heck@0.5.0 + hex@0.4.3 + http-body-util@0.1.3 + http-body@1.0.1 + http@1.3.1 + httparse@1.10.1 + httpdate@1.0.3 + hyper-rustls@0.27.7 + hyper-util@0.1.16 + hyper@1.6.0 + icu_collections@2.0.0 + icu_locale@2.0.0 + icu_locale_core@2.0.0 + icu_locale_data@2.0.0 + icu_normalizer@2.0.0 + icu_normalizer_data@2.0.0 + icu_properties@2.0.1 + icu_properties_data@2.0.1 + icu_provider@2.0.0 + icu_segmenter@2.0.0 + icu_segmenter_data@2.0.0 + idna@1.0.3 + idna_adapter@1.2.1 + indexmap@2.10.0 + indoc@2.0.6 + io-uring@0.7.9 + ipnet@2.11.0 + iri-string@0.7.8 + itoa@1.0.15 + js-sys@0.3.77 + lazy_static@1.5.0 + libc@0.2.174 + libm@0.2.15 + litemap@0.8.0 + log@0.4.28 + lru-slab@0.1.2 + memchr@2.7.5 + memoffset@0.9.1 + mime@0.3.17 + miniz_oxide@0.8.9 + mio@1.0.4 + object@0.36.7 + once_cell@1.21.3 + openssl-probe@0.1.6 + percent-encoding@2.3.1 + pin-project-lite@0.2.16 + pin-utils@0.1.0 + portable-atomic@1.11.1 + potential_utf@0.1.2 + ppv-lite86@0.2.21 + proc-macro2@1.0.95 + pyo3-build-config@0.25.1 + pyo3-ffi@0.25.1 + pyo3-log@0.12.4 + pyo3-macros-backend@0.25.1 + pyo3-macros@0.25.1 + pyo3@0.25.1 + pythonize@0.25.0 + quinn-proto@0.11.12 + quinn-udp@0.5.13 + quinn@0.11.8 + quote@1.0.40 + r-efi@5.3.0 + rand@0.9.2 + rand_chacha@0.9.0 + rand_core@0.9.3 + regex-automata@0.4.11 + regex-syntax@0.8.5 + regex@1.11.3 + reqwest@0.12.23 + ring@0.17.14 + rustc-demangle@0.1.26 + rustc-hash@2.1.1 + rustls-native-certs@0.8.1 + rustls-pki-types@1.12.0 + rustls-webpki@0.103.4 + rustls@0.23.31 + rustversion@1.0.21 + ryu@1.0.20 + schannel@0.1.27 + security-framework-sys@2.14.0 + security-framework@3.2.0 + serde@1.0.228 + serde_core@1.0.228 + serde_derive@1.0.228 + serde_json@1.0.145 + serde_urlencoded@0.7.1 + sha1@0.10.6 + sha2@0.10.9 + shlex@1.3.0 + slab@0.4.11 + smallvec@1.15.1 + socket2@0.5.10 + socket2@0.6.0 + stable_deref_trait@1.2.0 + subtle@2.6.1 + syn@2.0.104 + sync_wrapper@1.0.2 + synstructure@0.13.2 + target-lexicon@0.13.2 + thiserror-impl@2.0.12 + thiserror@2.0.12 + tinystr@0.8.1 + tinyvec@1.9.0 + tinyvec_macros@0.1.1 + tokio-rustls@0.26.2 + tokio-util@0.7.15 + tokio@1.47.1 + tower-http@0.6.6 + tower-layer@0.3.3 + tower-service@0.3.3 + tower@0.5.2 + tracing-core@0.1.34 + tracing@0.1.41 + try-lock@0.2.5 + typenum@1.18.0 + ulid@1.2.1 + unicode-ident@1.0.18 + unindent@0.2.4 + untrusted@0.9.0 + url@2.5.4 + utf8_iter@1.0.4 + version_check@0.9.5 + want@0.3.1 + wasi@0.11.1+wasi-snapshot-preview1 + wasi@0.14.2+wasi-0.2.4 + wasm-bindgen-backend@0.2.100 + wasm-bindgen-futures@0.4.50 + wasm-bindgen-macro-support@0.2.100 + wasm-bindgen-macro@0.2.100 + wasm-bindgen-shared@0.2.100 + wasm-bindgen@0.2.100 + wasm-streams@0.4.2 + web-sys@0.3.77 + web-time@1.1.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.52.6 + wit-bindgen-rt@0.39.0 + writeable@0.6.1 + yoke-derive@0.8.0 + yoke@0.8.0 + zerocopy-derive@0.8.26 + zerocopy@0.8.26 + zerofrom-derive@0.1.6 + zerofrom@0.1.6 + zeroize@1.8.1 + zerotrie@0.2.2 + zerovec-derive@0.11.1 + zerovec@0.11.2 +" + +inherit cargo distutils-r1 multiprocessing optfeature systemd + +DESCRIPTION="Reference implementation of Matrix homeserver" +HOMEPAGE=" + https://matrix.org/ + https://github.com/element-hq/synapse +" +SRC_URI=" + https://github.com/element-hq/${PN}/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="|| ( AGPL-3+ Element-Commercial )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT Unicode-3.0 +" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" +IUSE="postgres selinux systemd test" +RESTRICT="!test? ( test )" + +RDEPEND=" + acct-user/synapse + acct-group/synapse + dev-python/attrs[${PYTHON_USEDEP}] + dev-python/bcrypt[${PYTHON_USEDEP}] + dev-python/bleach[${PYTHON_USEDEP}] + >=dev-python/canonicaljson-2[${PYTHON_USEDEP}] + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/ijson[${PYTHON_USEDEP}] + dev-python/immutabledict[${PYTHON_USEDEP}] + >=dev-python/jinja2-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-10.0.1[${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/python-multipart-0.0.12-r100[${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}] ) + selinux? ( sec-policy/selinux-matrixd ) + systemd? ( dev-python/python-systemd[${PYTHON_USEDEP}] ) +" +BDEPEND=" + acct-user/synapse + acct-group/synapse + dev-python/setuptools-rust[${PYTHON_USEDEP}] + test? ( + ${RDEPEND} + dev-python/hiredis[${PYTHON_USEDEP}] + dev-python/idna[${PYTHON_USEDEP}] + dev-python/parameterized[${PYTHON_USEDEP}] + dev-python/txredisapi[${PYTHON_USEDEP}] + postgres? ( dev-db/postgresql[server] ) + ) +" + +# Rust extension +QA_FLAGS_IGNORED="usr/lib/python3.*/site-packages/synapse/synapse_rust.abi3.so" + +src_test() { + if use postgres; then + einfo "Preparing postgres test instance" + 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 remove is necessary otherwise python is not able to locate + # synapse_rust.abi3.so. + rm -rf synapse || die + + nonfatal distutils-r1_src_test + local ret=${?} + + if use postgres; then + einfo "Stopping postgres test instance" + pg_ctl --wait --pgdata="${T}/pgsql" stop || die + fi + + [[ ${ret} -ne 0 ]] && die +} + +python_test() { + "${EPYTHON}" -m twisted.trial -j "$(makeopts_jobs)" tests +} + +src_install() { + distutils-r1_src_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-r1" "${PN}" + systemd_dounit "${FILESDIR}/synapse.service" +} + +pkg_postinst() { + optfeature "Redis support" dev-python/txredisapi + 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 + elog "Please refer to upgrade notes if any special steps are required" + elog "to upgrade from the version you currently have installed:" + elog + elog " https://github.com/element-hq/synapse/blob/develop/docs/upgrade.md" + einfo + fi +}