diff options
author | 2025-01-31 11:17:36 +0100 | |
---|---|---|
committer | 2025-01-31 15:13:08 +0100 | |
commit | 5875147e5e761119d6774b1bf2582745b7be99e6 (patch) | |
tree | 5730d6ec44cee2ce1a1a16620d3bade381c9eaf8 /net-im | |
parent | net-im/synapse: drop 1.120.2 (diff) | |
download | gentoo-5875147e5e761119d6774b1bf2582745b7be99e6.tar.gz gentoo-5875147e5e761119d6774b1bf2582745b7be99e6.tar.bz2 gentoo-5875147e5e761119d6774b1bf2582745b7be99e6.zip |
net-im/synapse: add 1.123.0
This version bump contains a patch, which skips recovery test for
Twisted >= 24.10.0. That change allows us to lift restriction and use
more recent twisted dependency than 24.7.0. It seems to be safe to just
skip the test.
Signed-off-by: Petr Vaněk <arkamar@gentoo.org>
Diffstat (limited to 'net-im')
-rw-r--r-- | net-im/synapse/Manifest | 8 | ||||
-rw-r--r-- | net-im/synapse/files/synapse-1.123.0-skip-recovery-test.patch | 50 | ||||
-rw-r--r-- | net-im/synapse/synapse-1.123.0.ebuild | 229 |
3 files changed, 287 insertions, 0 deletions
diff --git a/net-im/synapse/Manifest b/net-im/synapse/Manifest index e3458e71ccd9..5f28356f03f6 100644 --- a/net-im/synapse/Manifest +++ b/net-im/synapse/Manifest @@ -37,15 +37,20 @@ DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb76974 DIST proc-macro2-1.0.89.crate 49446 BLAKE2B 844c021394e7a2551bc179592a6769d672360150abf92debcb9ac60a94a2e426c48c408f06aeb2128686f5f04d66dc12973714670c21a5063ee6b9f3bae4e671 SHA512 488ab38a04df1d0330309382a7e4f667238cbc9b4d513da6a8f5718f8a762f76cc122af67fefe8f4b021a286b3d23e3ec83d781fe6ac823042a6daf14d147e2f DIST pyo3-0.23.2.crate 1073639 BLAKE2B 01ddd26a4e347f3b6d7fee215a1894e779167730710373d59712f2119332fcf287d9c0e75d3d28baff8cf5000afb9d0e577947a26bdd8828428d33aa0f8be537 SHA512 b2b40809e1f26978c140b7ca4ecebb661a47fc01cd03fcd5c486076576c9b229de04f15ed55661db4e26545cb29110f1034a185abb623e4bf7fbb69188db335c DIST pyo3-0.23.3.crate 1073838 BLAKE2B 5e1ce6a5c5232ebf0399b1b969e737cca12f978f445efec9408ea80b8bc6ac1047125dbefa36149c8a904882d6a64dd24a9bd50f1e8de7afe3a3271e1a0f2d6f SHA512 c80377e8673de8b8e51e2423d102dbcc46605a783c13127215916d69fc600efd67ba5f9cca420cb6859124165ec97fde40eb0a0566d8b4b60708e20b8e6e9b6d +DIST pyo3-0.23.4.crate 1087676 BLAKE2B 2c7d3530460ff687e8f60dcff0fb01465b2a4642043ebdfc927fc3824b9fbce9c4b304250808a85405d21df12d17a1d1ada7bdf8f3563710692f22223e2732f1 SHA512 0015aa75163ad0ec026d185e15c26f59aaad0eb3cc3044b146e5d703bb375fcd838df2044febbd52e6e129dfba81c8249329fc3e4805695274dac7a69eee0651 DIST pyo3-build-config-0.23.2.crate 32197 BLAKE2B 393c76b1dcb625145673736272d4cb9d96a02df87ddcc385316652f0ff1b5595a34ebe5d789f61888c2fd82de05476c85f781d21018bd99cb630fa634afee203 SHA512 29678272073e896cb0b65efb0eaba40c82977b18efd389597aef8902e32daff51f2609c6be93ecfe0336260446c3186951f770ff449823cdde5a0518a1585c81 DIST pyo3-build-config-0.23.3.crate 32509 BLAKE2B 9e77701712589dec4ad74b3d0e66ae82c7a01b6f29ed36231d999aaf909f80def59d17916e1900bfff10b1d36a0a48ed4bf9757c817eb6c6269549f3d04bd6d4 SHA512 db8b0aa86e96eeb30a8ab36a8a1ba917b7b9e6918c2193d7466841ef38e689908f7719a5390d35fb9a156aa6bd84348fa99ea8d5a784faf5c5cc4635d9a3fac9 +DIST pyo3-build-config-0.23.4.crate 33885 BLAKE2B 7f95a8a9e08d413899ff1fa64af5a52783bad4a7b4db92835464f12bd8565f152497aaeb45d25cc91eed73950abeea30ca4c7495e3b15423ae588b97038beb18 SHA512 b11442609f43d9baab79daf083caf0366987f6ae182239814ad6df6fe4ad31b95132d74f1162fa9428d229bd8c18ef9b696a4c3329b3960fd705d1705fc5e973 DIST pyo3-ffi-0.23.2.crate 74052 BLAKE2B 085c66bae61e6059331813be77a1e4f850c4b8b12ac60b03188f2a009c9f58e062dc3ea2b9e470a480956bb8cbef645f95e53fae2638d59ebf5039aa5d41d504 SHA512 e228e473da98ce0fe4f15cf840ba1f51f66bb6fd103a7c0bb76b3218980c93b45ecf691f712333f4a27a9efc76517a85f6e13d5e9650b774eadebf59a647e493 DIST pyo3-ffi-0.23.3.crate 74064 BLAKE2B ec3cc59e047f780041a05e2bf9fac9d65a6f8ccfb5a3e1c35d7c7918da6ded7e65676888a743d3b4d0fe7b0996e441b722c159eed67360c1e3c5b598160a46cc SHA512 fe4678d4cfe81f065554f0d454345f5f8fde927af1afec9212bb49a67be5080dcc9be84e088612208b7732d2283c2c9168a31b0b6fbd32496520d500e372e161 +DIST pyo3-ffi-0.23.4.crate 74806 BLAKE2B 650784d46347c00f09c010c39e9762f778efc510ad0b99b5ddf30cab18edaba552207339ad44ed4ae6d87ddfcc56fa540a17e3a4cb331905a0988d5ba2dc682a SHA512 c12097292b4620f4fd98d61fde4a0f0c7d423a94d518fa5b1cf759089b066fede6d83e20171acc2aa7bf268de5700c9b59da32131216734626b0fa5cd5651801 DIST pyo3-log-0.12.0.crate 14630 BLAKE2B 0c22aff53a88b99bc3dca14c20ed7ee8f90bb0f955ff70e2c709dbd5947160a364a8c6f1e6cdd417f81cf58f8285b85d632c5b07c9497388f41f372f356ca934 SHA512 12a39a0ea2f85b5d8db8d325f913428364ec6e2a02cae83aaacbe013d3a70cac137ab8e916e1892badb7784c72b5d0aaa2634c7c8ac6f34f5fe778cd2e169c45 DIST pyo3-macros-0.23.2.crate 8056 BLAKE2B a87c4b8aab972eaf5e9b941db34e18be411bed8b5753d3e2d3f65e4a18723a72e70858bb34e8db949f0c6b748e122fed41e9c78f6c20150077fcc3c4eb0026ba SHA512 dba0b5bd212b6a5f38d6fc93183c8ab80bb53bfa5f03d471897014f2d3d1959804e5fdbc817845c1cef797f314b924d58eff95cfcb848eb98b283e104d24637c DIST pyo3-macros-0.23.3.crate 8085 BLAKE2B bf9ea45a8afe7c663da4f3f5c09c23039bbcf9a9ae350eac2b6581a227864d259b1e5c5ea36f9d6f302c26cd957bb4564562b98785eac49233515d7d54453fdf SHA512 23bfcff285db1276f2dcca9895f7672ec6e5aec118039e2cef3cabca0a85eb97f138391cea4da26eb887dff09c65947b165ca83392edcc8640cb283df2929901 +DIST pyo3-macros-0.23.4.crate 8852 BLAKE2B ba5722fd52e47aa4dc2e89bacd69326bd98943a1670ebeab08a2e9e8070a0975ebbe928a0bce8b53a700b65294fee2b00d2a1e6623a0c48ac15902cdbfcb7a97 SHA512 c36c9005db5a4b48b5fda881130f4e7da8eef46e2c363c395ccca3fe476e0204d98c2a832cd03c787fb37a2664fadd42bf8f47de71eb44d055754ab5766af934 DIST pyo3-macros-backend-0.23.2.crate 70067 BLAKE2B 905c0e6e5ca0c0a91af8386a632cc81f4a9b08a51a22a260188078abf9ee70d60f77e2fc0df09483d8dc6b37cd455a23b7f70f41ee74a2ad9dd0dbef39cc22c2 SHA512 dc3f8780c09c63c0e0d4f26c29a9a4e29e4fc9f14254ac8a942235e480a3f4bfa3bf073d3011e043b6c22e1999d1f68bf7b0fdf212e9edb4bfb2396a97ab0ee1 DIST pyo3-macros-backend-0.23.3.crate 70098 BLAKE2B f8ee9c39f743960fc8093bfd53c043fca03b973192e1ab24b48066634e57ea7e74b3ba825ae72380e10569855eec9cb4f0d54f5f8c88dc60e67793257bef8d43 SHA512 9b22e975480f9afc2037587ba85889868a1b543069c2280c65f4cf98e5537708d098bb4885e881c1c9427740c8259988d82176b974900551a4e51097cefb8708 +DIST pyo3-macros-backend-0.23.4.crate 70912 BLAKE2B a428c732f0b17d9a8f620d0e8d58469f2cba339c8a8307393ce252a7860808e5d50e6bbf711cafd0635c844f4b1d48e57db4dd99ef7b5e3d97d6f760164278e9 SHA512 2fe670fbf35724f489cc82f38d3f7c1e6aa15b087a2674b7a68b562572f9bb00cbb7746cccfcb62d0861a18f6d24c5739273c8302d1662a161142f4a6b532b6f DIST pythonize-0.23.0.crate 16177 BLAKE2B 96c27ee7819b5aa27a493c11fbfde4174baf8c081634543f211a1270874a239973bf16788641837efafe0b09f85df6edf82da36818bfb37005fdbac5fbb1edc8 SHA512 25d395bbbfaad4c2d57599144e92c289eb96cd1e2c5306b8ec17048a406df3147b93b56785a03bec6aba6ea31789a21ec0cc519ed40177fb263a98757349fa63 DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685 DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 @@ -61,15 +66,18 @@ DIST serde_derive-1.0.215.crate 57092 BLAKE2B f28bb66017599afdcd8d45c514b8e07854 DIST serde_derive-1.0.217.crate 57749 BLAKE2B 63b4930122d80d64492ba2718630513012202e42bbaa74510729ee66a0e72b8a1ad123784b479697ba562db43868f4bddfdf5e94bb3d744cd68a547471ba40aa SHA512 31020f4533d04b31ae125580a3c5093fad36438d324e2d9b063923aa8c125c654102ae7fbc3b3df892bb41db6b321962a23e0a37950e080055d715d15b18af76 DIST serde_json-1.0.133.crate 150739 BLAKE2B 7891eb5b8edcc7fd09ab1e15d3881ffdcb629aa39f2bd758c0505700a5f2dfabd85b1b66c3b094268bc1627b346e204c792f4ca61efa76c54ab9cd5744fb0ee2 SHA512 20e65ec87bff319897a141960d13deb5cadcf821209c1ee8799f1dc7f458ce432bc62c16df5bdada1c8d3cc01ff23b8125e8fa0a03545d4614f32efd687dc69f DIST serde_json-1.0.134.crate 154351 BLAKE2B 546f8ffe9373444e8c9e81910476da281dcef10498dceabc8bec9f9063c55f4a9033b83586a09b0f410369515882c37712a2bd75ff1fff05815d904f37386124 SHA512 ab6323799bf19da8ec6e6c428370d37cd230192b45ef54d2c65c7d83907b2dde71d51650e44f1fcca1084e75e0e195e97b28437f53a331bf48effed3d59b58a5 +DIST serde_json-1.0.135.crate 154499 BLAKE2B deeb22932145715d6a443b36b9b984b6ace1e254199db9586c48dcfdd270a3208ef127584431e19a826947df705de78f07e58d9126ee1c5ccd2bc73d1e779bd8 SHA512 e19c583aa4a55f1c3b9a4e49b8b5c6b66e91c893db06e52f33e87608be1ff0aa27996065157f45dd4d2c59b752259ae747b2d353fe7cd1d466f56cd8a97fe71d DIST sha1-0.10.6.crate 13517 BLAKE2B 85ad8dcd237125945f6f9c2d7a48bc9802dfe8398a2bac86ddb96763486092fa18e80a2e69f89cfd6e95599d34d60ced33b26a68cbbe39bf158238a79433584b SHA512 fd37be7e3f1d4b6addd313a36b55215fb70abd21be7831b71de28bd3eb03b7352817d8a7b1a166df002c3a23eadc8224e49edd4a37556c0e5357565305d4128f DIST sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785 DIST subtle-2.5.0.crate 13909 BLAKE2B 660c3a472ca54c9843ce3feea74b802e27fd7f62dd37a30e2a4ba82e4b3a71df63562e8865d5fc675d31d0900998a8730503f91a61450884446a3bdd6af0041b SHA512 f150b1e2037554f8cd3213a54ddbc258f8f670cc4f39e7084cdea4b47538dbc58b834bc93b443d58a4b9087224efc003234042aaf366687dbd32b1e7174082a0 DIST syn-2.0.85.crate 275231 BLAKE2B e7679e81bcef87920bc0ed707c997563844ffa1e9d470675ae6ec11d1e045e04ee2ad5744d423b8bc16def1c197ebecd874f468c1e12244838d1b4f34f9c1a30 SHA512 14b1402d2cd91456eb32dcffd494592eb3bd848ae22571f7ef0686493f91b82d23ba41428f9d31686fd24ea6ebca4b239b6c5099302a32014dffbc4ff9afeec1 DIST synapse-1.121.1.gh.tar.gz 8830079 BLAKE2B 1e249bdc3cc098417dbb1f707cc5ae2ca795ac9745fb664a4a51ed4b3788b808766808be913b08b7a7535fa7dd1535ece9cc67af4e1460be63cbd4750cf273ea SHA512 b3b0a5f7dbfa492a66ffb4b90a48ac0bc507e28be1a55889b966332acb59049dc58bab8798183216932f753b2736d285bf711b7179c4c412881ea4ac0df1fa9a DIST synapse-1.122.0.gh.tar.gz 8838124 BLAKE2B f954472c45efb6649318378b39779e491469d8294ee40b6de53423673e48f919e882555209c8c47a2794c58a0226b44426f0330578992324a48e21ae5eb815f7 SHA512 cab6f2f3dd43299b82ec582444cd29a430f4a0c87f15240a93a9d72ef690f91c4ed20ec68fe3e822f404ba43208dafa67d883a1911f7808616bdfa378a0276e7 +DIST synapse-1.123.0.gh.tar.gz 8846158 BLAKE2B e7bfefe98f615617eba7a04f66555ed496368f2a4b9d28ce50b5a5f2ab13e8c08f16a0d3a025d9c29e075995fac7734ebb74d398f86f1db55bf0d3ca354c7558 SHA512 c22e3ddc4fc3157b0c9fb8d510523a9195907a8def4f69e7825f83eb6c809eb9402ae736a2785fe34d34160ac27bf1972f823ce3c8162f80c036133fc2886d43 DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508 DIST ulid-1.1.3.crate 11596 BLAKE2B a079fc34f5af9de89469d1edd5a53c1bc1a0f9bff8ce731c185345fe4067432a121efc6a04ac6cf377fd03c89558067e7d5d52c4b9dfd23e7055ce5af89e84b3 SHA512 a8f6ab3601417e7a46a763bb28722c3770fb0c2dea340c02a8e96d2e3597a304589745c65278c90bbc64f5153501a2a85321386669fda71ad7252ec67dd749df +DIST ulid-1.1.4.crate 11367 BLAKE2B f8dabe988f5a65cd2ffa66196bc3540601cc47e45f56d41542d4edd02232bda632eb5a0fff833ebadacba8e537d496f04806a9297bee9161bbf1abf25a6a3e23 SHA512 6221a1f8616678e63ea7875830cef8d7759f56f40b97c83706aae74a678abc771dc5a382dcfb05e0a40637178814e3352d724ba72e4eb18d7da8244ade7a5280 DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505 DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8 diff --git a/net-im/synapse/files/synapse-1.123.0-skip-recovery-test.patch b/net-im/synapse/files/synapse-1.123.0-skip-recovery-test.patch new file mode 100644 index 000000000000..5fa9a47d3e03 --- /dev/null +++ b/net-im/synapse/files/synapse-1.123.0-skip-recovery-test.patch @@ -0,0 +1,50 @@ +From 095c8d95f9df7380de9bc0b8aef6f06bfe86ff63 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@gentoo.org> +Date: Wed, 15 Jan 2025 09:29:39 +0100 +Subject: [PATCH] Skip test_recovery test for Twisted >= 24.10.0 + +The test fails starting with Twisted 24.10.0 due to internal changes of +Failures handling introduced in PR [1]. The issue is triggered since +commit [2], as it was bisected in [3]. + +The changes simplify how Failure objects are managed but no longer clear +Failure instances in the same way, causing this test to fail. It seems +to be safe to just skip this test, which will allow us to lift twisted +dependency restriction. + +[1] https://github.com/twisted/twisted/pull/12292 +[2] https://github.com/twisted/twisted/commit/ece4381ecd4f9ed06264af03d21d26ed933bf341 +[3] https://github.com/element-hq/synapse/pull/17878#issuecomment-2503116192 +--- + tests/storage/databases/main/test_events_worker.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/tests/storage/databases/main/test_events_worker.py b/tests/storage/databases/main/test_events_worker.py +index 104d141a7..975bdefe4 100644 +--- a/tests/storage/databases/main/test_events_worker.py ++++ b/tests/storage/databases/main/test_events_worker.py +@@ -20,9 +20,11 @@ + # + import json + from contextlib import contextmanager ++from incremental import Version + from typing import Generator, List, Set, Tuple + from unittest import mock + ++import twisted + from twisted.enterprise.adbapi import ConnectionPool + from twisted.internet.defer import CancelledError, Deferred, ensureDeferred + from twisted.test.proto_helpers import MemoryReactor +@@ -447,6 +449,9 @@ class DatabaseOutageTestCase(unittest.HomeserverTestCase): + ) + self.assertEqual(str(failure.value), "Could not connect to the database.") + ++ @unittest.skip_unless(twisted.version < Version("Twisted", 24, 10, 0), ++ """fails since twisted-24.10 due to internal failure workflow changes, ++ see https://github.com/element-hq/synapse/pull/17878#issuecomment-2503116192""") + def test_recovery(self) -> None: + """Test that event fetchers recover after a database outage.""" + with self._outage(): +-- +2.45.2 + diff --git a/net-im/synapse/synapse-1.123.0.ebuild b/net-im/synapse/synapse-1.123.0.ebuild new file mode 100644 index 000000000000..cb829fb751ca --- /dev/null +++ b/net-im/synapse/synapse-1.123.0.ebuild @@ -0,0 +1,229 @@ +# 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_{10..13} ) + +CRATES=" + aho-corasick@1.1.3 + anyhow@1.0.95 + arc-swap@1.7.1 + autocfg@1.3.0 + base64@0.21.7 + blake2@0.10.6 + block-buffer@0.10.4 + bumpalo@3.16.0 + bytes@1.9.0 + cfg-if@1.0.0 + cpufeatures@0.2.12 + crypto-common@0.1.6 + digest@0.10.7 + fnv@1.0.7 + generic-array@0.14.7 + getrandom@0.2.15 + headers-core@0.3.0 + headers@0.4.0 + heck@0.5.0 + hex@0.4.3 + http@1.2.0 + httpdate@1.0.3 + indoc@2.0.5 + itoa@1.0.11 + js-sys@0.3.69 + lazy_static@1.5.0 + libc@0.2.154 + log@0.4.22 + memchr@2.7.2 + memoffset@0.9.1 + mime@0.3.17 + once_cell@1.19.0 + portable-atomic@1.6.0 + ppv-lite86@0.2.17 + proc-macro2@1.0.89 + pyo3-build-config@0.23.4 + pyo3-ffi@0.23.4 + pyo3-log@0.12.0 + pyo3-macros-backend@0.23.4 + pyo3-macros@0.23.4 + pyo3@0.23.4 + pythonize@0.23.0 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + regex-automata@0.4.8 + regex-syntax@0.8.5 + regex@1.11.1 + ryu@1.0.18 + serde@1.0.217 + serde_derive@1.0.217 + serde_json@1.0.135 + sha1@0.10.6 + sha2@0.10.8 + subtle@2.5.0 + syn@2.0.85 + target-lexicon@0.12.14 + typenum@1.17.0 + ulid@1.1.4 + unicode-ident@1.0.12 + unindent@0.2.3 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + web-time@1.1.0 +" + +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+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" +IUSE="postgres 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}] ) + 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/pyicu[${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" + +PATCHES=( + "${FILESDIR}/${P}-skip-recovery-test.patch" +) + +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 "Improve user search for international display names" dev-python/pyicu + 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 +} |