summaryrefslogtreecommitdiff
path: root/net-im
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-09-18 12:11:36 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-09-18 12:11:36 +0100
commitbcd00c826070701606b0ccebf46234dfc792d3e9 (patch)
tree3aeb69c5dd0a179ff8214b99f8db0aea63953d22 /net-im
parent7be9edf526114e427a3a44ff8b418fed3ce570aa (diff)
gentoo auto-resync : 18:09:2024 - 12:11:36
Diffstat (limited to 'net-im')
-rw-r--r--net-im/Manifest.gzbin9076 -> 9078 bytes
-rw-r--r--net-im/synapse/Manifest2
-rw-r--r--net-im/synapse/synapse-1.115.0.ebuild244
-rw-r--r--net-im/telegram-desktop/Manifest2
-rw-r--r--net-im/telegram-desktop/telegram-desktop-5.5.5.ebuild261
5 files changed, 509 insertions, 0 deletions
diff --git a/net-im/Manifest.gz b/net-im/Manifest.gz
index 84b41a98b4de..df84084ef0e2 100644
--- a/net-im/Manifest.gz
+++ b/net-im/Manifest.gz
Binary files differ
diff --git a/net-im/synapse/Manifest b/net-im/synapse/Manifest
index 81eaf78a508f..aae657d2f58f 100644
--- a/net-im/synapse/Manifest
+++ b/net-im/synapse/Manifest
@@ -73,6 +73,7 @@ DIST syn-2.0.61.crate 257199 BLAKE2B d2133732d9a7f16c47729be1b4c18c05ffdcb9cb139
DIST synapse-1.112.0.gh.tar.gz 8644732 BLAKE2B b50d9313eee37efa87c8cbd197728462c3104b336136cd732c4eef3d17c1d71aaaac7f4dc28099755b67221ac9351e4238fa45fc01581d752eafddad6687e749 SHA512 dc09e37f6581dd2b25c2aaae53294df997e450bfc4c3496929f56d342d354a48f0bfaac2aee154f7e1f53e86f7d078844495290c0fbc6c91efea966f8f6d68ff
DIST synapse-1.113.0.gh.tar.gz 8674102 BLAKE2B 2ee2e400b0a759af9a4278cfb6028c8a355d842d8a4f02ba9946f2ff5caba95573c53f33bbbca029a092cfabadfd853d4caaef4e2ad8d218ab89722f3a59d00b SHA512 190e14adb67ec39f63b21623b620fe60047ef49b2ea5515c17d3ff7d1cc990ddb26c4d7a35b65b61b28b5059ad6ff78a90cc3d49efc5b462f6a4240284ebf50f
DIST synapse-1.114.0.gh.tar.gz 8697736 BLAKE2B 984cab788fd88ffbb1919b4aad75df741267a1d8752d9fd95a68e7bae75b28993b325fff32d721661607c3d66761f2ba5768ad6f0636f65a23eb4fc9c9e5100e SHA512 14e9abd441d1f67411d7087ca489a52343d7804ba8b575326ec52e128c0a3a0ba533b08ddaf3d31b49ac80d7b79a18e9ccdde581510c69c883d4284ddd4aed4b
+DIST synapse-1.115.0.gh.tar.gz 8750060 BLAKE2B 6e5b50b43b690c74b63e1f13b886706f695301e12e4d2c47d6d21bc58919861413914237fe22e77b31c1aa6143df731a7a570063a704a5fd70264ad2902ecd14 SHA512 6ad41f8fa59de6ac13d4cb039d107f4bcce41bcdee51f2347645359baf89437665aad7a27981568c0b8d41732503f68a254414d42158fb65504ff465cbb10669
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
@@ -98,4 +99,5 @@ DIST windows_x86_64_msvc-0.52.5.crate 827905 BLAKE2B fd5dac198bfbf29878cb461a733
EBUILD synapse-1.112.0.ebuild 6407 BLAKE2B 4c79936314867329501e016e5c34fb2ccb0ded433001f26e516dacaf4370cd12f4041b45957df9a7b439a9e3a1c3b86d4b49e90d664efefe19cfdb553033f1f0 SHA512 f5542fa4deb354da7a9659b0645c2793be7fe6ac8f3dd6114b846b6487387f5d791e9a052d70dff02408df239058da325526f5b63b79465b2af6cd4ff23b5cab
EBUILD synapse-1.113.0.ebuild 6407 BLAKE2B 47fdf66eb7e1cb7a452c9f07e64d8cc9b4dffbb7626a5134976d6d7c857ad303e24cfe47d222f8911d1821b49ed001f084cc6d7f424e12dd3a7120d170e7a5b4 SHA512 811d79d53d2529683e355fa3608ed194fc915cfd7eaffd79eb15e26d95d85d7a93678e54495fe3f1266f08058bfaea2c93590617b2585056a882a945b7224a03
EBUILD synapse-1.114.0.ebuild 6408 BLAKE2B e32624bcb8e43542ebbf4847a20084605ff0978bb6cb9b8d7a82d86c30455bc5ca01a34dc46ea4c2dbbce649f261e9c4189db0314482bc9e6cb03934635767bf SHA512 86e0db709aecaab3a70e54ca7946f2f0e9a5dd0fd25528ada28db055630ff05f41e47ee6455d856b2e25a6433ee75802365745f5157fe2d99a3c0c08152e301a
+EBUILD synapse-1.115.0.ebuild 6408 BLAKE2B ff7e7d344680c615ac0864382f862b2bdcb45fc6709f4cc2ada8ad4f92e82d2bfb07b97b781b7ea20286375aa2fa2e54bc87240312f9818c6fe7b17c91ae1896 SHA512 c98f609c08d4a3b5d0c110c61952bbe8c1c570413263988401ceda9e4b90095194a0ea4c3e2fbc7443661efc3256eb585ca421291ef0d928640d75029c574acc
MISC metadata.xml 381 BLAKE2B 8bf85af089213456d20c9d66a4d9788ff209983f8fd98c9fb6cf03e03ab5c12c9d5518ff4d86f5d4fb2a9a1080516f1febfedf5b06b0cb8e101cdc035bb139f4 SHA512 e88fd7f735bc9ca0aced01f49ca539134b297a5c9c5ee633fe3de64626d6f4b4eb547326288abea9c161f2647852c23658dba17265e64254335870450f644307
diff --git a/net-im/synapse/synapse-1.115.0.ebuild b/net-im/synapse/synapse-1.115.0.ebuild
new file mode 100644
index 000000000000..80fa2041d2b9
--- /dev/null
+++ b/net-im/synapse/synapse-1.115.0.ebuild
@@ -0,0 +1,244 @@
+# Copyright 2022-2024 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.86
+ arc-swap@1.7.1
+ autocfg@1.3.0
+ base64@0.21.7
+ bitflags@2.5.0
+ blake2@0.10.6
+ block-buffer@0.10.4
+ bumpalo@3.16.0
+ bytes@1.7.1
+ 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.4.1
+ hex@0.4.3
+ http@1.1.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
+ lock_api@0.4.12
+ log@0.4.22
+ memchr@2.7.2
+ memoffset@0.9.1
+ mime@0.3.17
+ once_cell@1.19.0
+ parking_lot@0.12.2
+ parking_lot_core@0.9.10
+ portable-atomic@1.6.0
+ ppv-lite86@0.2.17
+ proc-macro2@1.0.82
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-log@0.10.0
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ pythonize@0.21.1
+ quote@1.0.36
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ redox_syscall@0.5.1
+ regex-automata@0.4.6
+ regex-syntax@0.8.3
+ regex@1.10.6
+ ryu@1.0.18
+ scopeguard@1.2.0
+ serde@1.0.209
+ serde_derive@1.0.209
+ serde_json@1.0.127
+ sha1@0.10.6
+ sha2@0.10.8
+ smallvec@1.13.2
+ subtle@2.5.0
+ syn@2.0.61
+ target-lexicon@0.12.14
+ typenum@1.17.0
+ ulid@1.1.3
+ 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
+ windows-targets@0.52.5
+ windows_aarch64_gnullvm@0.52.5
+ windows_aarch64_msvc@0.52.5
+ windows_i686_gnu@0.52.5
+ windows_i686_gnullvm@0.52.5
+ windows_i686_msvc@0.52.5
+ windows_x86_64_gnu@0.52.5
+ windows_x86_64_gnullvm@0.52.5
+ windows_x86_64_msvc@0.52.5
+"
+
+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 )"
+
+DEPEND="
+ acct-user/synapse
+ acct-group/synapse
+"
+# The dev-python/twisted-24.3.0_p20240628 snapshot available in our tree
+# introduces some breaking changes for synapse,
+# see https://github.com/element-hq/synapse/issues/17075
+RDEPEND="
+ ${DEPEND}
+ 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/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-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[${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="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ test? (
+ 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"
+
+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
+}
diff --git a/net-im/telegram-desktop/Manifest b/net-im/telegram-desktop/Manifest
index 59c298315b53..d49c8495c980 100644
--- a/net-im/telegram-desktop/Manifest
+++ b/net-im/telegram-desktop/Manifest
@@ -7,8 +7,10 @@ DIST tdesktop-5.0.4-full.tar.gz 69462550 BLAKE2B 46e630ea74c6571e41909bab768ff19
DIST tdesktop-5.2.3-full.tar.gz 69745773 BLAKE2B a6811098d2e0f8d0ebc0d7ac4d392981ff600544d31eb38a72b208778a69462d241122f8ff74b3a8b730d7a1221b78febb0ea9f641872992a830d9c805555c39 SHA512 5d5bf1f5c35af11b2adf7db075832e7cca5768c2c5f82d9fc5054b9d45f964a3520eb88864aefc3de593ce1359534b210b1e5d89495819e7386f6ca15fd4a15c
DIST tdesktop-5.4.1-full.tar.gz 70056797 BLAKE2B 078a747c51df9ca8a173270b128e5c84439706b6c9d5ecde0fb0c88301f709b01613d2a895e9d1219809093cf3409211e63d8e131abed172c16192763dadc764 SHA512 f86b86c6001b2c214d897821c175f41c53ca44401285909b2b12254634cca821137d61a28c75d79ed757c1ade08873035397aae7c462494c1ab6382501a8072a
DIST tdesktop-5.5.1-full.tar.gz 70095171 BLAKE2B 3221defb9df90333434b688e698b7c1ef842dca968049f3cd0cee428da353867cac52a0325fa1006e7d0a11d693c8e5e28b1983b57217ac4c227831cf1052214 SHA512 c8aadf6d2ad739523e714774c1b69be6792f805fb83d7f16a716c688cc800c54c5f13595742bd26d8b84f26342d89e21c668c8a79ed2a0607782a8421a40844a
+DIST tdesktop-5.5.5-full.tar.gz 70112426 BLAKE2B 21cdb01d66ea1d1b7479995d790fc44d65248c807dafb25d865970a0d619483ccccd99c8d64b6853d8aa29c78c73010f14e720bf707c918e7c3bb5cb2428dde5 SHA512 88cd526fb02b7b0459cb1bd1b0c57147b2261e57c392d2cb62964015ef6b26e202fba717b35d74201c41becf0a5d78ef4d9d593b5666b3f0a0db646e40bfd1fc
EBUILD telegram-desktop-5.0.4.ebuild 8059 BLAKE2B 92eef60b7a4b64525531bc90628337ac1e84d1e1927674db9a706dc8f436b866195f1915f4bd2c7b44bb9bdbc3e5b0dd1809f160669b07eea4a27fb51d13aba1 SHA512 58a4f07be2b04a92f59cbbf3481dda12c624c6038de44963303e401a90e79dfc72c0983c7ee6c81bb3ffd4e7b9d40a95c026fd481b76c3f210455449a8a1b2ba
EBUILD telegram-desktop-5.2.3.ebuild 8625 BLAKE2B 883ce12ec143bbae55cd86dce5d7cc318e1bcf13eb1b97bb36bb6752e67e45cdf8113f8d15292078b96a6e1217a00fb853510f0aed82071b21d242da06348c28 SHA512 17e9d5d3fd930ba89a468f3193cfe463ff5eb1b1b9d44753ca7276aab32ce526fbf64fb4b5c7248695c28c260c19ada436be4040d0afd11b03a147cdc36d429c
EBUILD telegram-desktop-5.4.1.ebuild 8612 BLAKE2B b7ecef63da852fff43d7a40c6fcdd4cd80351bc3d500f986918f45f363efde4dc292e1a70e54321977014587c35b789be4602b891b28788d0d009141d416be42 SHA512 9f05f1bec2849d8e5299b930ef3579b54392cfeb9f267aae88b9eaadc969d085aff9f3ac15762e6f94b9cd15f1330bfed6c4392786fa6a2f82b9bf49c837d9ec
EBUILD telegram-desktop-5.5.1.ebuild 8626 BLAKE2B a9d02a9e4bf4ab88d393aa0b43fe046ec5b37a1fa75c6697a98b05c8ee5c720cd86ed54e9cd88596541847761d0a007110b9a4b0aaaffa9b48df94cceb85087e SHA512 0f977bf5388c35b728b475ec62b7e5a9e81ff0c26bc360073df06a929a8b9c209ed2504f498ab4f3e7a95a337e65b34b6e7345ccf5425dbd60d83a84140b769b
+EBUILD telegram-desktop-5.5.5.ebuild 8626 BLAKE2B a9d02a9e4bf4ab88d393aa0b43fe046ec5b37a1fa75c6697a98b05c8ee5c720cd86ed54e9cd88596541847761d0a007110b9a4b0aaaffa9b48df94cceb85087e SHA512 0f977bf5388c35b728b475ec62b7e5a9e81ff0c26bc360073df06a929a8b9c209ed2504f498ab4f3e7a95a337e65b34b6e7345ccf5425dbd60d83a84140b769b
MISC metadata.xml 1415 BLAKE2B ff67e288b209502228591761d9a7774a95b52cca610ddcfb4398b1aa6db264d84df36aec1f8f109679cd09d5858c8b8237bbf9fa0643fef4974864c5f9e1e192 SHA512 609618e13e7fd77b17797ca5f3fcd4a4a508f5f13a5a4c4a84e002f0634b44dd231b75a52635b65fbe76aad0e75fa6deb3b366dbff7e54316fe143367f6c0c89
diff --git a/net-im/telegram-desktop/telegram-desktop-5.5.5.ebuild b/net-im/telegram-desktop/telegram-desktop-5.5.5.ebuild
new file mode 100644
index 000000000000..98c1b5012cf5
--- /dev/null
+++ b/net-im/telegram-desktop/telegram-desktop-5.5.5.ebuild
@@ -0,0 +1,261 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit xdg cmake python-any-r1 optfeature flag-o-matic
+
+DESCRIPTION="Official desktop client for Telegram"
+HOMEPAGE="https://desktop.telegram.org https://github.com/telegramdesktop/tdesktop"
+
+MY_P="tdesktop-${PV}-full"
+SRC_URI="https://github.com/telegramdesktop/tdesktop/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="dbus enchant +fonts +jemalloc +libdispatch screencast qt6 qt6-imageformats wayland webkit +X"
+REQUIRED_USE="
+ qt6-imageformats? ( qt6 )
+"
+
+KIMAGEFORMATS_RDEPEND="
+ media-libs/libavif:=
+ media-libs/libheif:=
+ >=media-libs/libjxl-0.8.0:=
+"
+CDEPEND="
+ !net-im/telegram-desktop-bin
+ app-arch/lz4:=
+ dev-cpp/abseil-cpp:=
+ dev-cpp/ada:=
+ >=dev-cpp/glibmm-2.77:2.68
+ dev-libs/glib:2
+ dev-libs/openssl:=
+ dev-libs/protobuf
+ dev-libs/xxhash
+ media-libs/libjpeg-turbo:=
+ ~media-libs/libtgvoip-2.4.4_p20240706
+ media-libs/openal
+ media-libs/opus
+ media-libs/rnnoise
+ ~media-libs/tg_owt-0_pre20240804:=[screencast=,X=]
+ media-video/ffmpeg:=[opus,vpx]
+ sys-libs/zlib:=[minizip]
+ !enchant? ( >=app-text/hunspell-1.7:= )
+ enchant? ( app-text/enchant:= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ libdispatch? ( dev-libs/libdispatch )
+ !qt6? (
+ >=dev-qt/qtcore-5.15:5=
+ >=dev-qt/qtgui-5.15:5=[dbus?,jpeg,png,wayland?,X?]
+ >=dev-qt/qtimageformats-5.15:5
+ >=dev-qt/qtnetwork-5.15:5[ssl]
+ >=dev-qt/qtsvg-5.15:5
+ >=dev-qt/qtwidgets-5.15:5[png,X?]
+ kde-frameworks/kcoreaddons:5
+ webkit? (
+ >=dev-qt/qtdeclarative-5.15:5
+ >=dev-qt/qtwayland-5.15:5[compositor(+)]
+ )
+ )
+ qt6? (
+ >=dev-qt/qtbase-6.5:6=[dbus?,gui,network,opengl,wayland?,widgets,X?]
+ >=dev-qt/qtimageformats-6.5:6
+ >=dev-qt/qtsvg-6.5:6
+ webkit? (
+ >=dev-qt/qtdeclarative-6.5:6
+ >=dev-qt/qtwayland-6.5:6[compositor,qml]
+ )
+ qt6-imageformats? (
+ >=dev-qt/qtimageformats-6.5:6=
+ ${KIMAGEFORMATS_RDEPEND}
+ )
+ )
+ X? (
+ x11-libs/libxcb:=
+ x11-libs/xcb-util-keysyms
+ )
+"
+RDEPEND="${CDEPEND}
+ webkit? ( || ( net-libs/webkit-gtk:4.1 net-libs/webkit-gtk:6 ) )
+"
+DEPEND="${CDEPEND}
+ >=dev-cpp/cppgir-2.0_p20240315
+ >=dev-cpp/ms-gsl-4
+ dev-cpp/expected-lite
+ dev-cpp/range-v3
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-build/cmake-3.16
+ >=dev-cpp/cppgir-2.0_p20240315
+ dev-util/gdbus-codegen
+ virtual/pkgconfig
+ wayland? ( dev-util/wayland-scanner )
+"
+
+PATCHES=(
+ "${FILESDIR}"/tdesktop-4.2.4-jemalloc-only-telegram-r1.patch
+ "${FILESDIR}"/tdesktop-4.10.0-system-cppgir.patch
+ "${FILESDIR}"/tdesktop-5.2.2-qt6-no-wayland.patch
+ "${FILESDIR}"/tdesktop-5.2.2-libdispatch.patch
+)
+
+pkg_pretend() {
+ if has ccache ${FEATURES}; then
+ ewarn "ccache does not work with ${PN} out of the box"
+ ewarn "due to usage of precompiled headers"
+ ewarn "check bug https://bugs.gentoo.org/715114 for more info"
+ ewarn
+ fi
+}
+
+src_prepare() {
+ # Bundle kde-frameworks/kimageformats for qt6, since it's impossible to
+ # build in gentoo right now.
+ if use qt6-imageformats; then
+ sed -e 's/DESKTOP_APP_USE_PACKAGED_LAZY/TRUE/' -i \
+ cmake/external/kimageformats/CMakeLists.txt || die
+ printf '%s\n' \
+ 'Q_IMPORT_PLUGIN(QAVIFPlugin)' \
+ 'Q_IMPORT_PLUGIN(HEIFPlugin)' \
+ 'Q_IMPORT_PLUGIN(QJpegXLPlugin)' \
+ >> cmake/external/qt/qt_static_plugins/qt_static_plugins.cpp || die
+ fi
+ # kde-frameworks/kcoreaddons is bundled when using qt6.
+
+ # Happily fail if libraries aren't found...
+ find -type f \( -name 'CMakeLists.txt' -o -name '*.cmake' \) \
+ \! -path './Telegram/lib_webview/CMakeLists.txt' \
+ \! -path './cmake/external/expected/CMakeLists.txt' \
+ \! -path './cmake/external/kcoreaddons/CMakeLists.txt' \
+ \! -path './cmake/external/qt/package.cmake' \
+ -print0 | xargs -0 sed -i \
+ -e '/pkg_check_modules(/s/[^ ]*)/REQUIRED &/' \
+ -e '/find_package(/s/)/ REQUIRED)/' || die
+ # Make sure to check the excluded files for new
+ # CMAKE_DISABLE_FIND_PACKAGE entries.
+
+ # Control QtDBus dependency from here, to avoid messing with QtGui.
+ # QtGui will use find_package to find QtDbus as well, which
+ # conflicts with the -DCMAKE_DISABLE_FIND_PACKAGE method.
+ if ! use dbus; then
+ sed -e '/find_package(Qt[^ ]* OPTIONAL_COMPONENTS/s/DBus *//' \
+ -i cmake/external/qt/package.cmake || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Having user paths sneak into the build environment through the
+ # XDG_DATA_DIRS variable causes all sorts of weirdness with cppgir:
+ # - bug 909038: can't read from flatpak directories (fixed upstream)
+ # - bug 920819: system-wide directories ignored when variable is set
+ export XDG_DATA_DIRS="${EPREFIX}/usr/share"
+
+ # Evil flag (bug #919201)
+ filter-flags -fno-delete-null-pointer-checks
+
+ # The ABI of media-libs/tg_owt breaks if the -DNDEBUG flag doesn't keep
+ # the same state across both projects.
+ # See https://bugs.gentoo.org/866055
+ append-cppflags '-DNDEBUG'
+
+ # https://github.com/telegramdesktop/tdesktop/issues/17437#issuecomment-1001160398
+ use !libdispatch && append-cppflags -DCRL_FORCE_QT
+
+ local qt=$(usex qt6 6 5)
+ local mycmakeargs=(
+ -DQT_VERSION_MAJOR=${qt}
+
+ # Override new cmake.eclass defaults (https://bugs.gentoo.org/921939)
+ # Upstream never tests this any other way
+ -DCMAKE_DISABLE_PRECOMPILE_HEADERS=OFF
+
+ # Control automagic dependencies on certain packages
+ ## Header-only lib, some git version.
+ -DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}Quick=$(usex !webkit)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}QuickWidgets=$(usex !webkit)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandClient=$(usex !wayland)
+ ## Only used in Telegram/lib_webview/CMakeLists.txt
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandCompositor=$(usex !webkit)
+ ## KF6CoreAddons is currently unavailable in ::gentoo
+ -DCMAKE_DISABLE_FIND_PACKAGE_KF${qt}CoreAddons=$(usex qt6)
+
+ -DDESKTOP_APP_USE_LIBDISPATCH=$(usex libdispatch)
+ -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X)
+ -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland)
+ -DDESKTOP_APP_DISABLE_JEMALLOC=$(usex !jemalloc)
+ ## Enables enchant and disables hunspell
+ -DDESKTOP_APP_USE_ENCHANT=$(usex enchant)
+ ## Use system fonts instead of bundled ones
+ -DDESKTOP_APP_USE_PACKAGED_FONTS=$(usex !fonts)
+ )
+
+ if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then
+ einfo "Found custom API credentials"
+ mycmakeargs+=(
+ -DTDESKTOP_API_ID="${MY_TDESKTOP_API_ID}"
+ -DTDESKTOP_API_HASH="${MY_TDESKTOP_API_HASH}"
+ )
+ else
+ # https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml
+ # Building with snapcraft API credentials by default
+ # Custom API credentials can be obtained here:
+ # https://github.com/telegramdesktop/tdesktop/blob/dev/docs/api_credentials.md
+ # After getting credentials you can export variables:
+ # export MY_TDESKTOP_API_ID="17349""
+ # export MY_TDESKTOP_API_HASH="344583e45741c457fe1862106095a5eb"
+ # and restart the build"
+ # you can set above variables (without export) in /etc/portage/env/net-im/telegram-desktop
+ # portage will use custom variable every build automatically
+ mycmakeargs+=(
+ -DTDESKTOP_API_ID="611335"
+ -DTDESKTOP_API_HASH="d524b414d21f4d37f08684c1df41ac9c"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ if ! use X && ! use screencast; then
+ ewarn "both the 'X' and 'screencast' USE flags are disabled, screen sharing won't work!"
+ ewarn
+ fi
+ if ! use jemalloc && use elibc_glibc; then
+ # https://github.com/telegramdesktop/tdesktop/issues/16084
+ # https://github.com/desktop-app/cmake_helpers/pull/91#issuecomment-881788003
+ ewarn "Disabling USE=jemalloc on glibc systems may cause very high RAM usage!"
+ ewarn "Do NOT report issues about RAM usage without enabling this flag first."
+ ewarn
+ fi
+ if ! use libdispatch; then
+ ewarn "Disabling USE=libdispatch may cause performance degradation"
+ ewarn "due to fallback to poor QThreadPool! Please see"
+ ewarn "https://github.com/telegramdesktop/tdesktop/wiki/The-Packaged-Building-Mode"
+ ewarn
+ fi
+ if use wayland && ! use qt6; then
+ ewarn "Wayland-specific integrations have been deprecated with Qt5."
+ ewarn "The app will continue to function under wayland, but some"
+ ewarn "functionality may be reduced."
+ ewarn "These integrations are only supported when built with Qt6."
+ ewarn
+ fi
+ if use qt6 && ! use qt6-imageformats; then
+ elog "Enable USE=qt6-imageformats for AVIF, HEIF and JpegXL support"
+ elog
+ fi
+ optfeature_header
+ if ! use qt6; then
+ optfeature "AVIF, HEIF and JpegXL image support" kde-frameworks/kimageformats[avif,heif,jpegxl]
+ fi
+}