diff options
Diffstat (limited to 'net-im/synapse')
| -rw-r--r-- | net-im/synapse/Manifest | 2 | ||||
| -rw-r--r-- | net-im/synapse/synapse-1.144.0.ebuild | 350 |
2 files changed, 352 insertions, 0 deletions
diff --git a/net-im/synapse/Manifest b/net-im/synapse/Manifest index 7c4869d037e0..84d99f450461 100644 --- a/net-im/synapse/Manifest +++ b/net-im/synapse/Manifest @@ -46,6 +46,7 @@ DIST headers-core-0.3.0.crate 2333 BLAKE2B 0a84e5cf8f56fcca6cfe875ed75a292e9cd6b DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6 DIST http-1.3.1.crate 106063 BLAKE2B c7ac3982bc0ee5ab6885d058ddb4341a85f2308cbccb59c51b5bf76df93c77c23a6ed974cfc45844b5d8a4db21081f262b115e084f10869636e3cd02a4917614 SHA512 20c6a049d93294e081150991eec281f531d2f2aa66b04b5d51585995bd07c1f9748df7f21a4f94fddf4cb04872c83d77822cce12b2d65778ea55197666e550ac +DIST http-1.4.0.crate 106978 BLAKE2B 2d86379f0a0724f337496699587cfed11bc87794219b69ba9d00771f6e5c4a880c0db72fe11171f4130fd3640228381de22292e0610be6b121fdd0d2e3bc4987 SHA512 f85bed2e41ae4cb97a3bbd69392ec660c66e2f8eda2dadfdff6328986e68e4563fc04c7fbabf08b811f2be3dce3ed2ba84e1ef8974fdb587b11615a288e4c897 DIST http-body-1.0.1.crate 6125 BLAKE2B e253f2c85c0553382db955ce9ed18072f8916738962083223f2466034803553818e7f5a11649ebf5ea9118e7ce1067bd9b999379a03a335b88c810bcd312cafc SHA512 3d9a711619e5b14d2188fa42bbd43653dceeeb7e172cbd96d36fdf37846fa2c1efa0fad019395a4fa6da2e139875934aa56caf7332dc40546095b0a774ca39bd DIST http-body-util-0.1.3.crate 16975 BLAKE2B 0914cdba8bcc09ba191bc5a05ee9ec13d8ab75530b25121bc34cbff970ab95ff59ecbdd7ba4f49d997b523dd6465f57fa6ad79a84f84de0e75b75a9db3813e9f SHA512 3aa8f63bc489773c01ec7bd8e4012b515d4f037649c405b519051fb43acebb0fafebb4a51a38308c842244e6d869d360885ab64ca7b43e2b9f0c52542c072bcd DIST httparse-1.10.1.crate 45190 BLAKE2B ce166e68e60434c9e5659b7fd8d2b014247e798be12bdd08ed1a28bd71d9aab4047f96c6179e00fdbeff8967d27ffcc9c9ad3b76a4fbc5791c68c14ab36ac31d SHA512 b9988b4657e54931a9f8beab694d938bca7c15783c7181059770e56a7cbff801531e96eaa396615f19b0d99c37f73b39194c6ae06df1309a02097ba13e33ffd0 @@ -156,6 +157,7 @@ DIST synapse-1.140.0.gh.tar.gz 9182247 BLAKE2B b75fb1b4928abd51668c0805221f573d9 DIST synapse-1.141.0.gh.tar.gz 9184982 BLAKE2B 9e53cae480adbaf368c4d5a5b2a25828ce327f535ba6fd0ee5607fcf5c72460c64ab9caa106178159519bc08a7025537746a6195101e09ca8f1f375107faa54a SHA512 068f3e1ac81d4676363909fbcd5690dcf6604e9050e853b61fc2564d9456b37d7db62acccf353bd44b9938686bc24953a4cd2fc7755722d321027f79a5d02990 DIST synapse-1.142.1.gh.tar.gz 9190189 BLAKE2B d0691d5ec468145ac53337bffcb8d9d067c7cd16b9f570a7fcb3c19c7e5618189ce1db3718c530c5baf6f44d6012036fca6e713b75e807d56227867d12719833 SHA512 f436ecb04c7925ee79229e4c885552747c311882d592e075ce304853ad64eea594db3e04fca3ea395a8384c9c6e6171d088fcad6de569f6ed91511c00bc1967e DIST synapse-1.143.0.gh.tar.gz 9191731 BLAKE2B 4ef1ba787f613ac3a4998ef81c99d119f8992f5652472c4192c3e35f46d5a7e526625c783c864440fc1ee5304231b697682980aeaa8e71fe2123bc982efb9809 SHA512 e804e5845e65a8c37d517b30d1649c52cc4b5355c2c76633df55fd08f7da44d3ac935b196935b59eec81d16701ca4bc0567c0ce4de0d12f122bacca10c914bcf +DIST synapse-1.144.0.gh.tar.gz 9204917 BLAKE2B c68c0bad9f1469d353be67d05dcf789b39035f5b885cef99e83a9de0a03fb06f6c08ec31e4f1867901f2e6b35d0374ac1b19d58b5393d50235b47d31b948524c SHA512 87961796797ee1bba68b70c9e4dc04bd07ceab82f02a5c503adb34a66963b385081e30be68eb7f0ca218e66b1f350edd1b0650b19a481c3bc5e8503fe238ec8b 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.144.0.ebuild b/net-im/synapse/synapse-1.144.0.ebuild new file mode 100644 index 000000000000..bbcd554909ff --- /dev/null +++ b/net-im/synapse/synapse-1.144.0.ebuild @@ -0,0 +1,350 @@ +# 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..14} ) + +RUST_MIN_VER="1.82.0" +CRATES=" + aho-corasick@1.1.3 + anyhow@1.0.100 + 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.0 + 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 + 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.28 + 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.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.26.0 + pyo3-ffi@0.26.0 + pyo3-log@0.13.2 + pyo3-macros-backend@0.26.0 + pyo3-macros@0.26.0 + pyo3@0.26.0 + pythonize@0.26.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.13 + regex-syntax@0.8.5 + regex@1.12.2 + reqwest@0.12.24 + 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.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.48.0 + 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-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 +" + +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 +} |
