diff --git a/net-im/synapse/Manifest b/net-im/synapse/Manifest index 1450925a54bee..aeaf14b4aa989 100644 --- a/net-im/synapse/Manifest +++ b/net-im/synapse/Manifest @@ -181,11 +181,13 @@ DIST security-framework-sys-2.14.0.crate 20537 BLAKE2B 50a04eda370788fb769600b0d DIST serde-1.0.219.crate 78983 BLAKE2B 7e9542a04c7f1aeff95b821245034368ff1721d98d7138bb1e0a99cdd6436dc37d69606308834fd33daaea3a1792409b3b2305b802433fa1d155816c55ca2a7d SHA512 0d3fe9a47af027d0d79499e60d940661dba6e29e8f0ce47d0db2ab722030d255aff637248af6f893a9c4224239733db09ffcdc6e1923a7177bfae55c98ebe769 DIST serde_derive-1.0.219.crate 57798 BLAKE2B 071f02019f829a2753769ce915d11df8f0d202ca67314fe83b42e1f1f3d07bc91b7e7c38fe498a0513714f80d3a3dbf2b447b1f85762de06dd021119801afa89 SHA512 1676bbf09e11273705a35c540d52d35d1bba7cdf1f347d40a364d7ae9269167f9f0f62ff4fa384aaa613c83e432a8eb3c016587ea643bb11434c00664a5c116b DIST serde_json-1.0.141.crate 155322 BLAKE2B efa3f32412d8aca8a1a49c186fe12b3f531d90f00a50e974dcd6abae9cc9b0ab595b31d5de57092eefa80aab66d8a61d41453df049076a9d0a7d3ed957710b28 SHA512 0d1d28bb79e3deca01e3e72f431395c8db7c86b9a175979c297d379f1ce3d60014c9cc1cbb688ddee673907717e2690d79178e776a5c2b247c062d1c4e0c4f6b +DIST serde_json-1.0.142.crate 155363 BLAKE2B e4bea16f092dd38d09d0bd8bb8f375bbab7fbf22c567c19222243bfa181f8103fec872b13552ac5927741146b9dd7d1a1719f84ecf317d7aba258250f5fc46d8 SHA512 dc4dbfd356e7cf3bd82dc463dcae7a563be2146dae22230fc2586e3481a4e5f59314b7b00345da6d9ced2b15557acbe1380b127144c70cb708291f72a19a7ab0 DIST serde_urlencoded-0.7.1.crate 12822 BLAKE2B 38c74ea862f041828467dfa586bad9b8e1d1d64a9f82fb7f98727e3965377d00e59f2dbf20955a9dce976b6911c0a619d2a6e4cc9dfc73cf0f6c449d873fd072 SHA512 b209ad01b6565e95c1d5b431a3f4f8a0df3d11c2a06a44123048bfa4b34ebb6807eec593f0c1c89de3a06ac3786a14747df9c70b4f4d5e4b72b4feb53084eb60 DIST sha1-0.10.6.crate 13517 BLAKE2B 85ad8dcd237125945f6f9c2d7a48bc9802dfe8398a2bac86ddb96763486092fa18e80a2e69f89cfd6e95599d34d60ced33b26a68cbbe39bf158238a79433584b SHA512 fd37be7e3f1d4b6addd313a36b55215fb70abd21be7831b71de28bd3eb03b7352817d8a7b1a166df002c3a23eadc8224e49edd4a37556c0e5357565305d4128f DIST sha2-0.10.9.crate 29271 BLAKE2B 1d614e0efe085cdb40e05726578a9b4ca6bce93f6d3324f5dc0444cb37054912cdaf5d28d468eac2c0046030d920fced2ccd006953b80865ce8a2d43ef3daa81 SHA512 963adeeb4ed8b0e7fc19085e8721ea13e9b3aea5d115ca1b3dbca495ad14810c6450991dd3753807c293c415aaeb1054b8b4124c72e7090cd9e86f09fcbb4f80 DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a DIST slab-0.4.10.crate 17810 BLAKE2B eacdd594184053f879dfc8f0e1a14d3404a7698ec60c85e998d46bc18d6bbbf8e345f577ee2895a3a2205c6dfaee207785054f01c9cb62b4411d9d192b8b203d SHA512 cd1915ba9c7766d5f1f551f6a431ffd768b75d2fbc6956afc8bf40877734ed2d443a0ceb66173c50fbc35fcbee17c1dbf2a336b26d25b2cf3a5105bf1bbaa20c +DIST slab-0.4.11.crate 18549 BLAKE2B a4895b6dc87790946621e1d52b5bbdc0fd78db238d9164121a380f298b85be94eb3424405067e3a6d96ef42747680a8b2b5341373bf5733d5a62a4ae383fdd5b SHA512 b2f199651b1d0f0eacca534ac2da714a2e9f642608c4874e7a1440ba7f035d061e117f518c51915f982befa2269da747c9e12e3b0599675e6218cdd8e30bfdcf DIST slab-0.4.9.crate 17108 BLAKE2B 8e5288c4d00efa915e7be27b55f2204850968624f0d8101c091a357131106bceeea7a63c98007420c12f67893dd2228b15d3f23508108c3a0ceaa605474bc7a9 SHA512 b6b5423ae026472920f7c9a4abe0962314140a36dc562c0a9e3fa60725b2b8b7a8b343110d9d4c0e18fb318b0103e14c0ccbc9ae350d5563a5ac80c35f228c40 DIST smallvec-1.15.0.crate 38113 BLAKE2B c8507c870d84d528c9e17faeb342e4d91356c86af563a8cac7b3a29cb5aa760d4a9f54e5f267d0452cb7301f8acf4da1ac0f48296216417b327441c18971a06d SHA512 c1fbd7865a629d368776544c2faeccc711df3d27d97db5fb2a169933f3cdf66abbdbf476dc8af88f30d5cd6cbb3d601acef8abb74e7dc9a36dfc538dbdeaa988 DIST smallvec-1.15.1.crate 38116 BLAKE2B 8dd779d7726694672945e928399e0459f4973d284a6c2d664c2fc757ebb1177658f47c812d9800e982479cbd7413fd4283c64a4d248ba5cff6397f96b758676e SHA512 c26b097a063353beedfcc921129cd0fb838c1c9420218993a05b2655b47b6ec16f11e0054312018658b4abd893beee140c5d2739401a5e5aea2e64575f237047 @@ -199,6 +201,7 @@ DIST syn-2.0.104.crate 299699 BLAKE2B f64d2267abe9140456dd31d52ada0c75bfa3e4e011 DIST syn-2.0.85.crate 275231 BLAKE2B e7679e81bcef87920bc0ed707c997563844ffa1e9d470675ae6ec11d1e045e04ee2ad5744d423b8bc16def1c197ebecd874f468c1e12244838d1b4f34f9c1a30 SHA512 14b1402d2cd91456eb32dcffd494592eb3bd848ae22571f7ef0686493f91b82d23ba41428f9d31686fd24ea6ebca4b239b6c5099302a32014dffbc4ff9afeec1 DIST synapse-1.135.2.gh.tar.gz 9076454 BLAKE2B b420806caf9ccfc608170cdf2db04acd3f4345bed467ae96f434d24a298a057b4cdcbd4117cb632ed3594f8bb7a95fb2240aa08f6dce0faa281daf46a6b6f9d8 SHA512 4706112745b7ad83bf62585a619e31fcfd71f7de7a07552b39c9cd5b7346108a5472a3c1893d8a2978a8765696eec12dfaae5da866ab2fc507cb3b74bcd51ee4 DIST synapse-1.136.0.gh.tar.gz 9115501 BLAKE2B bcca6ed246e0d86f568b45fb90627c10aa3d47968a0b5afee8b4c9cfcae4d5ae7aa8142d84786a9a124723d4798a3fcffcd2f4d675f061c4b215a36261bc9a2d SHA512 3f7293747b41e6c7603a004cb38c55cdc69fefcdd61ac4e10e95ff9c6d0a5bf5113a13933747bb8fd7c5ca2c2126df2bcfe709807aafc05bd0748e1e9793330d +DIST synapse-1.137.0.gh.tar.gz 9113083 BLAKE2B 6f6a5a7d5058036c9fcce62cd9ca5a6fe0e7c65c54fc2a558568f92c971f2db9dcf060188b3723d7545998c9e2ca53c7de20514d3b52ff5ec5ae02fbd20237d9 SHA512 356ef08bb11dbe11f854dc17efd24c80394bcc4cf0a542ee1f0fb97c9322b2ef2ee80e0b3ab393bf75f98f314fcc391833ed9471963aec82c328defc58b05cbf 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 @@ -212,6 +215,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.46.1.crate 823632 BLAKE2B d1f4736f8a0ee7358ee6393dab62b510d12377dbec1e3e81087b1b9ad115d453c8460210a521230f0d39b7a83334fc9702e32e9dea8fe56f9e8ca153cf25068f SHA512 a8c0ad11ac66cbf0f1b0b3d062a57fc73488dc339bd9311400de078001cbcbd9e7520c7152fe2d6707355442a948177433b3cfce9c364b9c17c90149c2737b5f DIST tokio-1.47.0.crate 828980 BLAKE2B 5610300c8ce0ef704e816f550482682f4fbd1f2b05b7ec119a9c72178b27e086ac80d73f150518ad81b523d1a7bdb4835aaeec32e77dce01ec5ca224fd6a5409 SHA512 4744124dc0e50ed1194ba0d013c5235db732023daac63bcc9667ebd4b2e2c38758cdb00b339edff856df9994eb9406aa3dd31fcaecebf2a5732806efeaab4912 +DIST tokio-1.47.1.crate 829790 BLAKE2B 7f5ff6a8092648e1643867981c79987da014478f776658666c340b0d5e11aea0aaff5d2402c40134fbc6e53266873dd0d95a75c18cc55bdde2e76da709f4aa88 SHA512 67ee7dbf9ff9cab24092742b0a5fe87d86852f06131e5a610ae603e3071446e06a5efd4b385ee9cfb0ff02c4a04f082f715dab41f12987154af54665e9429daf 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.137.0.ebuild b/net-im/synapse/synapse-1.137.0.ebuild new file mode 100644 index 0000000000000..a30779a625860 --- /dev/null +++ b/net-im/synapse/synapse-1.137.0.ebuild @@ -0,0 +1,354 @@ +# 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} ) + +CRATES=" + addr2line@0.24.2 + adler2@2.0.1 + aho-corasick@1.1.3 + anyhow@1.0.98 + 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.27 + 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.9 + regex-syntax@0.8.5 + regex@1.11.1 + reqwest@0.12.22 + 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.219 + serde_derive@1.0.219 + serde_json@1.0.142 + 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+" +# 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 +}