From ecb0cac715dcbfa3ee9864f5d48bc96a2012e640 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Van=C4=9Bk?= Date: Wed, 8 Apr 2026 07:45:00 +0200 Subject: [PATCH] net-im/synapse: add 1.151.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 | 4 + net-im/synapse/synapse-1.151.0.ebuild | 364 ++++++++++++++++++++++++++ 2 files changed, 368 insertions(+) create mode 100644 net-im/synapse/synapse-1.151.0.ebuild diff --git a/net-im/synapse/Manifest b/net-im/synapse/Manifest index ea7ce623c8294..77e85120f78fe 100644 --- a/net-im/synapse/Manifest +++ b/net-im/synapse/Manifest @@ -90,6 +90,7 @@ DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1 DIST mime-0.3.17.crate 15712 BLAKE2B abb892b75b40657d356b6b53b9a45b2c822a05873453e919f2bbfeed9e5c06104f24db9cef2716f302198020870eaf96b2c62aff55cc11d8ca4f4f614d7c8e17 SHA512 e6d2ca92bb58fc747c1bb65a7f9023e5dbf4b94966003a72e4913bcaaeccdd6752725cdbd5081e0fd69d9e8f364d79664fcbe70061737d5c39e5b3e3a154a0d1 DIST mio-1.0.4.crate 104212 BLAKE2B 22ea762038181e22653384514dabdf527e0ae9c22a6323040ad67d6eeeab596c8819038accec8db1c36748f391b421b842aad71974465a4e51d2d90795cd3845 SHA512 2b3fe4d74447834d28e4e1d869b55799792989a959ff64f4b18ea18b8fa846fd3c1415e191268219e731de1dcf12f85770865ffae23b6144a6700e1f237a0a53 DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990 +DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155 DIST openssl-probe-0.1.6.crate 8128 BLAKE2B 912371bbd0e105e7281eaa1462d68c6674ae11226f72a9e5c2808be12e975e39a257b5424cafdc527fac9d2313ed928f34ecf407cddbfb179283137e0817631d SHA512 6c2f02a9d42caf578fbd2a40277ad346bef32d191f27564d04a83477d62d6ad1f44945f40234e9425503e3f701a9e0ec8735ade52641170ff57fa6732666ac69 DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44 DIST pin-project-lite-0.2.16.crate 30504 BLAKE2B efd0b426fcc6ea8852bce499fac61f9755a11c6a2999cbec514f093ba7b3f94b1f2d437ee9abb243e31f3838ac1c74491a212851d7798eb249e209b35e015332 SHA512 971adfe54cfed304647fd944c1c915e78b37eaf0de3a582fb984a5e91f1b7d4db2cf0f53a9a64b64427062d4b41c0a36baddef782411a76ae3be0f8ca45f0718 @@ -132,6 +133,7 @@ DIST rustc-hash-2.1.1.crate 14154 BLAKE2B 7a1b3b82bbbf6a123512815c3e8f068a17890c DIST rustls-0.23.31.crate 371259 BLAKE2B 9e987ccea146db27a839afa12231d365bef6a107d7f2a9bb09c8af4f02ab12b407f8adaddcdb1880be5338926a0d17afb0e8c93f407ce2418227733abdffcfb4 SHA512 f56ca1c1bfe4652318b90c7e3d2b613261c0a147c366c405f2043a0c72189912e5ebc56e14bdeca191df7b397414b87c281b02fdf15c4202c5ccecd533020c02 DIST rustls-native-certs-0.8.1.crate 31129 BLAKE2B 1148d6095c4fb23e72dd96c7c4daae603be17e79954dc56a01099ec950a4f17d7059773169409f6c54c9eb9493841df4c069ba7b69aa097eee9f34c8fa6a780c SHA512 52cfb6d34394b155afe8528e6031da161e060ea529a57fdc27a574c2fb48b517a8832eab0f60a7e1a9fbea5459e356450ecc7d24ecd461b847ca58c8d82492e4 DIST rustls-pki-types-1.12.0.crate 64740 BLAKE2B 988c6d11e02bcf148493a9ad616594c1a3d816a26335d9df3de5e9b1ba81a4a1e3862cb46db97ef1f743ec1241861688c04c4a98308166d419d8f307f9d4c09c SHA512 6822b3a94109e01a0fb420f58fcaa45b6a52519233da751c314fdd9394802c2175479c470ed5d8c71fcd45be46e3c4d8fc8addc43322101002f31fa034713066 +DIST rustls-webpki-0.103.10.crate 85648 BLAKE2B f7181d5f8f67c29793dbce20f6a03f971ce140f398e50e81e832651f5e3815c83f9333f1652590c1a90c10da964a6f80f9952710d8b043d108e4a622d5bba2cc SHA512 a3ddc6ca5ecb5f4a25e8cbd1252cd2e8ac7937a9376a5d1a0c60d405c561d896365c6c3c4711d191c9c8d308b34388235c2316ea83f4508518e2c3413a6cbc13 DIST rustls-webpki-0.103.4.crate 84241 BLAKE2B b7419ef581ff0bab5005046d00a98d2d500bd40f10197ef585d9060eb901d3912c2653258d04b8f66eca9e8bd6450c82c896a2b8284551b65a72e6e26702db4b SHA512 70cc79537b19b846eee3278d9ae54488d0fa02cd4a3165d9e60f7782b6d15cb5855aa082341584db47810add2510c2ab60f5f4b8626d89abae5c0d1c487c4954 DIST rustversion-1.0.21.crate 21001 BLAKE2B 0ca6d2ae448a04a509e3746dff26c8ad9ff91b3d86fcb3cbdffc82de6e8592b585d8f1c029d96a257b4f195288d035326e6d8a12f3beece16a1d195544897375 SHA512 69ed338f2a8e8048ef6d44a5ceaed4ccb9d10d88130a5da4b25899af44949600f785d9508673a90245ae33e086ae6d2a297d6b16942c30159fa73e0602a88a67 DIST ryu-1.0.20.crate 48738 BLAKE2B b126085448cb58639a7b5867fe313dcaabaf19df478f67fcb6cf15b8e881a21e641878345e0bf1fea7d24b56b921e667fd26a39cb81fca7ea02585332068263f SHA512 329c581429d9b8baa7d9edd9cf20e23fb8002f339d9fb3d50ed4c7eb68fb19c1ba966d52a9c9602265ca5f59f2bd4393ddcb3a7ac20c64aee3096e137eb2a384 @@ -158,6 +160,7 @@ DIST synapse-1.146.0.gh.tar.gz 9234403 BLAKE2B b458d547a20a60edb3552a6ac9ccdb0db DIST synapse-1.148.0.gh.tar.gz 9258929 BLAKE2B a1e8f642f9e12d9720c1ccbf7faf515c901a045910a5e4c0937f95a94c421405706b96ed5102f0ea31b1c202d29d8c8e253804768a076a9ba31157964ebd7245 SHA512 8cd04c27d2987c6e61238811d95ec406986cba3492102540644c1d46fcca41b68481d5e74b35df52a198ad63104cd5f0891141ffb2f1952e5da9e871ae752682 DIST synapse-1.149.1.gh.tar.gz 9277999 BLAKE2B a5f1d243df4a917528aa75e2a3802892c8c3bcd7236c395faa50970f0c0aa067b1d492b1bea65fd581a3a83bb2853b9d524247cf758ca9b29e307d6cb20f4cb5 SHA512 1645baea821c7007e05c1aa52a34b668c315d2335b6940ef6874df47bb3f3ee49e07befd44e925d13169597cf4d463e32f754692f7889dc1db3a8486f44c2d0b DIST synapse-1.150.0.gh.tar.gz 9293362 BLAKE2B 4478440ff801c16c0b4bb7d1918f027bf0b7e6f3ca8f62dfe2d119ddff8215d3756b39771264e9b0f3a3fc578021d060edc83614ecc13452ec8ad38b3445c63b SHA512 99816f58f7c4560e7b04e2cfab78f337de97f49559ed52fb58ba5bf3fc3620833931c2ab0ce477bbfdb5337c1ad143c325c6efd3542d18ab956b78e7448d09a4 +DIST synapse-1.151.0.gh.tar.gz 9307465 BLAKE2B c53716546400a9a22b95f13f2d130c8b9112f11d8c065c57f070cdcf26c465c6e7a9603925b709107ed1d1b549e410e86ae32132685511cf8e5b89347adde2fe SHA512 6bd144744f21ff9948c2975329273d4dda538161fe6655f4f873cd3645fba243a3b02002cb3850bf3ba43f74436e7ae72718149ae34caea9af0e36e3761ef531 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 @@ -168,6 +171,7 @@ DIST tinyvec-1.9.0.crate 54137 BLAKE2B 68a96ec0ffa392586c3bdadf2323b2a3b416ecb81 DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e DIST tokio-1.48.0.crate 843434 BLAKE2B 4a2e3221f6820f2b092275fceef9bf295e35e445d81238f9f71679033b499610696d8882da118279b9cbb3fffb2383afbbf9cdded910546933072f70e77ffcca SHA512 7e275ed26e857d42255dd27e8704bcb0a5daa8658c5a00f9798f4522265006a91e04d6a06512a87f30e0ad090a1676c03d3b02fe8d60263e4ba793940a85b98b DIST tokio-1.49.0.crate 857029 BLAKE2B 77d4fa2f6cc822c6c2040819648ac29b6241f75a527c681217b8b959fa7c450524bd4f8d9ff42a21a0b2f56cb76a1f3a0d1b62e811f34397261d08bae645d12e SHA512 f7bcb51fb940964be99200e6a9adc45fe1ab13aef8aafc121a2035f1d76686915ca1087dbe3d78497abef86f374b2f737358e5107bfdf4357f511d87e6af6432 +DIST tokio-1.50.0.crate 878380 BLAKE2B 222f2c36e420e4f444cf6e621a1ce69599aa96307af8b6d1fe32988ec5b6fd1dcc3f147f3bd82fd768b38cd48fff25c84e8fdfc3f1d6ae08fee4482d3f99dcca SHA512 d09c90a3b7e88935c97ac3092842ba4863c412fe2edc428431c4a1d80839354f79ec4235cd48b81a5c3d88442b21753d3322dfcafc3f4ef31f5fcefe210c5548 DIST tokio-rustls-0.26.2.crate 31655 BLAKE2B 44a569a4aa8c13f2153a18ac56e6ce6b5b9c9adb4ba6d94c1b9579e340233e614cd61da26670f74080c870b54e0d7f5f008692120a823782144cbe42e97bbdb0 SHA512 c0ff373e02c90704d8bff39b634d118143bcdb3d657e491d7d9279bd5a0a166541c759b5a26f5348fecc4d3a1f11c8ce3127df217137f68c57db581714bfc735 DIST tokio-util-0.7.15.crate 124255 BLAKE2B f24525a3ec474921cc5d8d1dc12355f8ea5e7747be5299eeff00664ec0f6f6edbc33bb1613f64dc47ee6117c0d32cb6f770bec72f3b0bd549aff392969097622 SHA512 032158c36673c589ba09c52fe37bd0c700956fc4f89a7991f3cf93b04c8a12d51d1e05b8c6f493c7ebae7985e653bc3fb8bad590cefe329a1b1fa94182649520 DIST tower-0.5.2.crate 109417 BLAKE2B 414f17e97102224f1fdf23a03e6aa958e0a2d6cfcfce93ac3f2e911d68267aee33aa079c94540626ec3fa895e1780e6e5d18b4831f9f05cdf3e8c26ff73b7279 SHA512 e89c4ffd83fec3566334a4c4e9151ddeabfd3437269afc8bffb46201391bc1cdc82cbb97c69643a30f8873e87c511ad9aefc6c081241a4419fe315c99c61ffce diff --git a/net-im/synapse/synapse-1.151.0.ebuild b/net-im/synapse/synapse-1.151.0.ebuild new file mode 100644 index 0000000000000..8723cd7fd8f63 --- /dev/null +++ b/net-im/synapse/synapse-1.151.0.ebuild @@ -0,0 +1,364 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{11..14} ) + +RUST_MIN_VER="1.82.0" +CRATES=" + aho-corasick@1.1.3 + anyhow@1.0.102 + arc-swap@1.7.1 + atomic-waker@1.1.2 + autocfg@1.5.0 + base64@0.22.1 + bitflags@2.9.1 + blake2@0.10.6 + block-buffer@0.10.4 + bumpalo@3.19.0 + bytes@1.11.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.32 + futures-core@0.3.32 + futures-executor@0.3.32 + futures-io@0.3.32 + futures-macro@0.3.32 + futures-sink@0.3.32 + futures-task@0.3.32 + futures-util@0.3.32 + futures@0.3.32 + generic-array@0.14.7 + getrandom@0.2.16 + getrandom@0.3.3 + 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.4.0 + 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.1 + icu_segmenter_data@2.0.0 + idna@1.0.3 + idna_adapter@1.2.1 + indexmap@2.10.0 + indoc@2.0.6 + 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.29 + lru-slab@0.1.2 + memchr@2.7.5 + memoffset@0.9.1 + mime@0.3.17 + mio@1.0.4 + once_cell@1.21.4 + openssl-probe@0.1.6 + percent-encoding@2.3.1 + pin-project-lite@0.2.16 + portable-atomic@1.11.1 + potential_utf@0.1.2 + ppv-lite86@0.2.21 + proc-macro2@1.0.95 + pyo3-build-config@0.27.2 + pyo3-ffi@0.27.2 + pyo3-log@0.13.3 + pyo3-macros-backend@0.27.2 + pyo3-macros@0.27.2 + pyo3@0.27.2 + pythonize@0.27.0 + quinn-proto@0.11.14 + 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.13 + regex-syntax@0.8.5 + regex@1.12.3 + reqwest@0.12.28 + ring@0.17.14 + rustc-hash@2.1.1 + rustls-native-certs@0.8.1 + rustls-pki-types@1.12.0 + rustls-webpki@0.103.10 + 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.149 + 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.50.0 + tower-http@0.6.8 + 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-link@0.2.1 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-sys@0.61.2 + 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 + zmij@1.0.19 +" + +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/lxml[${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_prepare() { + # Upstream added transitive dependencies to pyproject.toml in PR [1]. Some + # of them are no longer depencencies of direct dependencies, but synapse + # checks for them anyway, and throws an error if they are not present. + # Following sed removes the those causing failures. + # + # [1] https://github.com/element-hq/synapse/pull/19289 + sed -i -e '/pyrsistent/d' -e '/pyparsing/d' pyproject.toml || die + + distutils-r1_src_prepare +} + +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 "URL previews" dev-python/lxml + 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 +}