summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Vaněk <arkamar@atlas.cz>2022-09-27 15:35:56 +0200
committerSam James <sam@gentoo.org>2022-09-27 22:42:03 +0100
commitb60cfe0f3ce709bf3ccf703bfd0ea10518555c23 (patch)
tree66e39ff0d42342406816fdef51d3ecea65f920b8
parentdev-python/frozendict: drop 2.3.2 (diff)
downloadgentoo-b60cfe0f.tar.gz
gentoo-b60cfe0f.tar.bz2
gentoo-b60cfe0f.zip
net-im/synapse: add 1.68.0
This version newly contains extension written in Rust. - the ~ppc64 keyword is dropped because I was suggested to ask for rekeywording because of the Rust extension - the if-else for live ebuild is also removed - SRC_URI is wrapped similarly to other python ebuilds - this version needs >=dev-python/matrix-common-1.3.0 - it was necessary to hide synapse directory in src_test otherwise python could not locate synpase_rust.abi3.so, this happens because of sys.path ordering Signed-off-by: Petr Vaněk <arkamar@atlas.cz> Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--net-im/synapse/Manifest39
-rw-r--r--net-im/synapse/synapse-1.68.0.ebuild185
2 files changed, 224 insertions, 0 deletions
diff --git a/net-im/synapse/Manifest b/net-im/synapse/Manifest
index 2134b88ccdaa..49596545d4f3 100644
--- a/net-im/synapse/Manifest
+++ b/net-im/synapse/Manifest
@@ -1,4 +1,43 @@
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST blake2-0.10.4.crate 46804 BLAKE2B 694e81198aa92d610a189056558b77765f8231a2dbde4e861396edb57398af30e10c6bfd8bb0b62c2013d4874b5442d3df8857499d0f5fff640649224ac4663a SHA512 ea6fde4969d66de70e0689da8c76efd37c8f70b9f1d1894d5c1e497a980b011cac75ac650170b7f0face9f85f0c35d05e136dcf823e1cbe7df3db58b72c6fa4b
+DIST block-buffer-0.10.3.crate 10465 BLAKE2B 32f0089971bb759244b73a75bdbbeb2d24f0422e92ceb0ae0afe3c698e3fabb371112a2eba3dab16a3859420d492c0ac984bfbb25e59e0c31951501cc652aab7 SHA512 e29faab70f8f2965a58089728274ec34bc97d681526687868c9cb1a2c145db00717f97e77b79a04fa52bd76817d796e104b509cd2a3163085b214f8eb68ac04f
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f
+DIST digest-0.10.5.crate 19503 BLAKE2B a73ef5f7b85869f8f6e2bd1c83f88f155ffab8ae1c687018ddd12f5806385a2664c163101aec84d4c20647a8bfd04095aa997e088a3f56e2664adabff1c5614f SHA512 3542fc0322a8b10dbc229ae83475a0df5f9beee4f879eacab1fda53a7b61136df2961265472ae66d896681bd17f8a68148b25827733bd782c6bae05d2f307951
+DIST generic-array-0.14.6.crate 15889 BLAKE2B 7beac5446f5da4d077598af43c238eb7e71a12b0b91e6be5dbfc1ca33dc21d128fc93c9c8b18caac4b88830c8c8a643f2033acaca1d9a9f3d95329d042276156 SHA512 254e6fb6658f083f26e022916795c9ebfac241b9df2d811aac8316b17e1375e1c5aa54d72f1bf6c2627a88484a7df4b14eca231c90578e9aa3d9997047fa0f20
+DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6
+DIST indoc-1.0.7.crate 13716 BLAKE2B fe515fcf534a552feba188aea5d5da0febc123db24485eb887a3431592780fd468f6409167457c68a7ef6368fcad71c14fcd7922bf2de29794a341d7d4cbbf0b SHA512 b60e534953d600bc2de3d6951f9da67ca3ab3c78fdce3e9c5f91e544ca848aef0c22c35a26fe7a39c07bd916a79fdf496269fecfa5491a58e178f37b2965b348
+DIST libc-0.2.132.crate 595317 BLAKE2B 1b1ae80e034d94468befcafd4bae4c41f29424cbf3770b827dd1d7099cd2364db62cf2e7343da5010e230a47fbd91d320b162f7b54fa3955fd195b6976c3fb45 SHA512 48340dd173ed4d487f6504f4c32cb3c13dac8ad4da95469c8dd79386a7564d258a9ca42ccf1b174154717bafc1d3551b87c8fe35f7e4e062c8e33da9259fec50
+DIST lock_api-0.4.7.crate 25371 BLAKE2B 9ed08433ffa70af60193dcf307287991a3154f0ef16b485f32a6c83e64962661a6e08ef83a6b217d6cbf5bd964c0638d8ed86b290087677c1fb3218321c4bbf8 SHA512 b1a5227fd131edaa70e017f7ddb43af8b4efa58488007b898ca1dfc818a3a441b732b7adbf1270e72a68ee5d2a99a5d48f33b2bca8e2cf78694953d20d27636d
+DIST once_cell-1.13.1.crate 31335 BLAKE2B f8455c5aa78073289669b8f277490ac9bfeafca3249bd54af91a51709262562f07e3154287f7a7db1711d0884fa2804aa82df5d7efb90b8ce5b2380c851be23c SHA512 492831607d12846923107b464a70de62f5997845faaae1625f3e54e2610e96b0355ce9e554051c2fae28f7e6e558ed456a6fc0b3c6a71b26f7443ede5eff5b32
+DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
+DIST parking_lot_core-0.9.3.crate 32256 BLAKE2B 79a1924a983b948a5c2b0c074452a7b2b61abda973d3bc8040d9153d34b378f0ee330e36aa813f49544319c479665d6328be71481f2e1e41bc94abb9bfbd12a0 SHA512 fa30db0fc73b268ab8395adb8bda35d12dc15363b247a95b7c4bb848ff9b8dbfb971a20f320b4feff3317d5b533c59b62152e4c652c1809a422c5671310b30df
+DIST proc-macro2-1.0.43.crate 41512 BLAKE2B da0577094cb0b8b419f3160bab6342f97865b01337be4cd7a344d4dea98fc2f8905dd05a56427792379f59565a25f8e16cfe4a37edb3bf77bf2e703f27953fdb SHA512 3139c668dbf593afeb77b970c77edc70f7b46b42d80f1d0e30773dedb14ab98c9eeca0dc953bc940610954860fbce663174ea6c270b8711db45aef4d57f3b910
+DIST pyo3-0.16.6.crate 364587 BLAKE2B 935b3347770e1fba76f6aee6b4ddc41cf9cb13be77e76d2668985012776a119906403a8fe95ccd0e33b4630bd38936693d2fd1b7b3d11d84a4e53fca021a2f36 SHA512 fe297e4d171ecb5a965ce9f3a0527a086766ac5607ba7b59b2a3a8f6cc66da3959d93f1d6aa688d67ceebde41ac4adefce18c0d52c1b77d0cd95cf1178f52325
+DIST pyo3-build-config-0.16.6.crate 28891 BLAKE2B 26667482bf9f5b140daab9728f58965a8417e879bfeaf27d9c61f75502150557f3d5952bf52b1d16360ade2f58ed44f99e10a5781a6d241844e9202735c6625e SHA512 a015bb4c328f0d1e643d64831e029bbd66cbf635ab616533f35aefce59abf1c5d596099feaccb81bff02e863867c14f975ce6fc55bc05d99ea47b5f6fdc2da5d
+DIST pyo3-ffi-0.16.6.crate 60756 BLAKE2B 148e67de195577a1676c80be1a5538d80cf25b0d9eac9facfdcd223dc40484a9c3c7c84377f727e83e50118fa803591acc1d800b93adf29c91e6a15154c2856c SHA512 97c69900e2b355a002d10e48883cc8d4d9245d07f956087fb9c3b0ecfb9039c84c3f3a23f17caf28c637c4522f0fe252fbbb16b543825e4f724ee19232a34d22
+DIST pyo3-macros-0.16.6.crate 8453 BLAKE2B 518809b1236149f14b264d48f642e873aea2b22edb655cf4cf4d6307d2eeb7544228b80ca7559397d3483c837ae2ea9f772a26563d01a95613dad0a1a704c1e9 SHA512 95b6898da9974ef232b04197e47ea4e7d60de9f817da9a9995f07b05ca74965df2b2e8e8267d616b665b04ab810b93ca17255b20df89ac9c71014e5c9fd3a9f1
+DIST pyo3-macros-backend-0.16.6.crate 49252 BLAKE2B 9fc531507d4f9d0e7ed183987fbabd043f7c31afe6488c53c6100d98e75e5296e9ee7cc4eb14798967ac62e7d8c31d602eac5166699058def384e4f029a3cf0b SHA512 49d82cff8762eeb27d8220aa98b2be43f614445f156212d45abef052e347ba2f4a7930e7c5c8a9843ea895ac5c223afc6527d036a9cad00efff9bda18907b019
+DIST quote-1.0.21.crate 28030 BLAKE2B 547344ba9272874f5fbb4bd27a69ef5be99823e10e1318afe71971b18f37e9c73d54168f16efb82c53a332e4874c80a82ea951fb2c85fad50cdfe783622b79fc SHA512 0728eb4df7e1f7c4d32ab08c901c2c969db8eb46b03bcec3e4956a4f6b360939d32abc6b6ebd7a31058e8e9b69c3d995a24cb484f93656f05b4ee963be1c74fc
+DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
+DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST smallvec-1.9.0.crate 28396 BLAKE2B b04100f0a8db9e7c34a425e665242772c9857c5a4c5f34468a3f1b14f669d5cd21de2d54dc5295a22f52032370e8e989fc61cea3f4e6574ccca5be639c645e74 SHA512 e7158393d4257564eeb8fa53a630fdfc13edb33f3c555e41606edcfdbe9189e5c59c25d255dd21d02d4abad1ab2931e21744ec6c2f91ad4db66f87e748a45e56
+DIST subtle-2.4.1.crate 12630 BLAKE2B 05a90232bfdc2cf67522e2972bddcd8dc9a165b1d1cf775d0b1c8358fc7c4d0559b2b899126b6688b8ef77b8b7580b3b300f74a599a7ee77f99c064a3917693b SHA512 7fd8234b7ffa3ca7e473539cad958df0842186e1dd735905e0d4977564f40a5f2e18b58180fcbe52614a00964dc150bd9f6964500847ea658f22bffe030f5c6a
+DIST syn-1.0.99.crate 236084 BLAKE2B 852493506271ee364ecb6e907fca55f18af9dc7ec4b4737e43e104d04064a37a2a59b31f5f780621785e44606d43e74adca5cf24c9ac1a8e186955c6b3e43b85 SHA512 47a9ec4d5e6702709c1069d1804d29880a1c5bbbed5a91c44e80eec657c62ceb223d6fbd942deef591463664766ae1997d154525f4e7a212bb84151418f40d10
DIST synapse-1.63.1.gh.tar.gz 7861575 BLAKE2B 7f69f2620289aa2c6b846514ce086e0ce20d559179cded20cda43b6c2ef2ad36d3b3f3fd6b139d2237a4c002c92a820a4150e5d8b25218b17bf22b9999638c67 SHA512 eb3bfb22081e932b2b7168a2b656b2ba7cc656bffbf60eb169b8d187d2a742809e2c0d6170afcea2bcf40ae5042a7b2ce7d7438294167bcc48def71e2488e338
DIST synapse-1.65.0.gh.tar.gz 7895758 BLAKE2B 1c816dfb7982fc0462a4a3b84c19dd144e7ac16d6cadf1e73dc71002c234eed5945ad8162d69960eff1bab80a3396a1b78e0be2cc2dfee314f6fb39d0b91b098 SHA512 3ba9751f707d41a9e18d9fe63f9652c36712451d42953e2bd4add8c142418a2a47a2ce75da893832af9225b944dd7b275f6d744f6e70d468b7f143dd5ccb9137
DIST synapse-1.66.0.gh.tar.gz 7916982 BLAKE2B 116d9f7dfd046ddc245ef1375bb3f01aad126fab8dedeb0e9172ce9b4bfa6c9757e241d9f0b2bad07525657e7a1f378d9385401436132c4ee6046629792a9840 SHA512 ebe8ab787d72592b395226490414f7dce5c250173be654dc6ce63deec3a7d718f8400cdc81dfb73ae331632bed4dfb5c6f09c64538f4bda8546db8fb75d728b7
DIST synapse-1.67.0.gh.tar.gz 7933047 BLAKE2B 8fd6b48198256c8cbe4a2a1d5215e1eb34084065056dd251a19b01c44e7f193b612f49a8fce74498d406e338dba3c6f4a0db384f323d5e4174d181de8478ef24 SHA512 913335b3815ff218134cda80d7149a95aea69eda170e9da6d7566213f077692a92b0276e2530ae4e69572b13124de28b6546a7322b3d9e65f676df0ca4cb9469
+DIST synapse-1.68.0.gh.tar.gz 7961362 BLAKE2B 9822e5068aefe9807946b25b6a04142c8b506a165349e8bf5d8c45227e0959331d13870f2d2ddb5925ef8892e16c6a35002e4a091814fddd73a0bf03590278d2 SHA512 fc31ba2c92ab698ea54006862021f855cc1011a6d7a9d8d42e2eb07bbd6f9f332d35c68fecc43cb543530da7dba6e83d0e5379c7e8dc91bb48f228d509a9f584
+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.3.crate 35031 BLAKE2B d8d20829b97e7f1b9710feb6773cc5c4d25de6509772491e6f508a489285e32ec3a14ae689a1f1cd01ff5e2d4301b98579155535e03e240c8605b5737c9c5de5 SHA512 7ebdcfd7131a0e7a834f7e973b9cf813495259e0a0606539623d3f9bb51f9c6414908e71281d6a77397021e48d41c400a704c65990aaa8ca8d0a6095d9b3ed47
+DIST unindent-0.1.10.crate 7703 BLAKE2B 75458d7f21ded1eca4bb3f7f55b2fa73bf92b2309316eca1b2ffaa0c9f8d7cd8c7851b96688f6597f4af6973f70e9053c2708c1228fa6a9784e41c778488c4b7 SHA512 46ff1a2c042972af2fe5958677b2fa5adf3b9edbb168bd66cc93baf9d1b128f583d9502b83f174b35866343b57a57c8a91a465eab267dddae919af24095bf6bd
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
+DIST windows-sys-0.36.1.crate 3347053 BLAKE2B 818f7812bd9a55a4e95b3d461fa5fcc14569a159882f950d20fd5a6b7d2a2841f082c0bccaab657f5830549e6286a37d9f8fdf825a42403f543b51e35b2d20d4 SHA512 80973e461bef3be0d0d0c13d02b2129aeb0d0700768d637544315654126f101b39f980738035fe325bd96f549493a2245bd7b82511f833efa7bbcb2f62266001
+DIST windows_aarch64_msvc-0.36.1.crate 661960 BLAKE2B d503150a05c4aa6ec376d1094ad24a7a4b3579d8f60cae65f4a98adfe830dd776c8996d5c3acfbfca1a69598475b918b5de2a162e3253b0b28cd6aa17de2dc13 SHA512 d0c352c78caec9c71bbaa1a688baab8f39a33c903c0492b19398c76e08194183e254ecd3a8b24af3e7e5e1d9d97373dcbab54499236829898a4fd153cfde2ccf
+DIST windows_i686_gnu-0.36.1.crate 818115 BLAKE2B fdb78cf88e1049d1ed6c474f870dfd1ff37b48bc24726d754cfec5b3e77075162f291f93aa709c07c9fa38ccb21a6c31cb5149dabc2cc8ad8a85c03408384a0b SHA512 e2c60e6639beb879472a06ed4462667eb4a78385df6bcde1ca579af759cf2b4ac70e84f7dd7b736e7fbd1b129061555671fed4b83bcd81a6083cc013963194a5
+DIST windows_i686_msvc-0.36.1.crate 724575 BLAKE2B cf964bec007d8432e2009644cf7f89ea7d910ccf9512c067b7bf5c6c825208ce4a36e9864c0cbca137f523983eb46e58e4bd01054cecd7ac7126d2ba9f67ac0c SHA512 02bb1507981229422498ce29f6c777d5e412358040128f84b09d948ccddf0461b078a0a20cc7f6ab7da8595121bb369453ae9ea1f0506aab715662e8c631e737
+DIST windows_x86_64_gnu-0.36.1.crate 790934 BLAKE2B 9dec5d966bdc89efbc81989acca242d519f51676ec37487df2bfacd6bfbc5a8de2871be72c5b96a073a899c666e3a39aa60d493e7df39fa90efe869fb744a332 SHA512 598b69e4f2cd3d68f910d526a66dadb465ff30a8c261c9a4455aa1c5b952d23c04f8edaa063cd16fb43564c116a13f06d607f3a0a9c7495054b8bfe1c04d1865
+DIST windows_x86_64_msvc-0.36.1.crate 661999 BLAKE2B 4cf967f10d4ce148bac967598168752d1996b4ddf5278a8fca53360566c37c1a014bfb4dfdc0ae2d96e01196c42eb4906ea80d8e9dd23b9e9f3163631c9e253e SHA512 89c22ed51a74f531662d80ae0fa5e0215728db1e6caf3c13eaeba95a93548b43c00b8474f52553ac866ac83c203b6c22dc44fbc870e882a4c9c97ba54b87c631
diff --git a/net-im/synapse/synapse-1.68.0.ebuild b/net-im/synapse/synapse-1.68.0.ebuild
new file mode 100644
index 000000000000..1e8761bdecb8
--- /dev/null
+++ b/net-im/synapse/synapse-1.68.0.ebuild
@@ -0,0 +1,185 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..10} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=poetry
+
+CRATES="
+ autocfg-1.1.0
+ bitflags-1.3.2
+ blake2-0.10.4
+ 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
+ libc-0.2.132
+ lock_api-0.4.7
+ once_cell-1.13.1
+ parking_lot-0.12.1
+ parking_lot_core-0.9.3
+ proc-macro2-1.0.43
+ pyo3-0.16.6
+ pyo3-build-config-0.16.6
+ pyo3-ffi-0.16.6
+ pyo3-macros-0.16.6
+ pyo3-macros-backend-0.16.6
+ quote-1.0.21
+ redox_syscall-0.2.16
+ scopeguard-1.1.0
+ smallvec-1.9.0
+ subtle-2.4.1
+ syn-1.0.99
+ target-lexicon-0.12.4
+ typenum-1.15.0
+ unicode-ident-1.0.3
+ 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"
+# Additional licenses needed for Rust crates
+LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="postgres systemd test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ acct-user/synapse
+ acct-group/synapse
+"
+RDEPEND="${DEPEND}
+ $(python_gen_cond_dep '
+ 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="
+ $(python_gen_cond_dep 'dev-python/setuptools-rust[${PYTHON_USEDEP}]')
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/parameterized[${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
+ 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 "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
+}