summaryrefslogtreecommitdiff
path: root/net-im/mautrix-telegram/mautrix-telegram-0.15.3-r1.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'net-im/mautrix-telegram/mautrix-telegram-0.15.3-r1.ebuild')
-rw-r--r--net-im/mautrix-telegram/mautrix-telegram-0.15.3-r1.ebuild106
1 files changed, 106 insertions, 0 deletions
diff --git a/net-im/mautrix-telegram/mautrix-telegram-0.15.3-r1.ebuild b/net-im/mautrix-telegram/mautrix-telegram-0.15.3-r1.ebuild
new file mode 100644
index 000000000000..cc6092ec8abd
--- /dev/null
+++ b/net-im/mautrix-telegram/mautrix-telegram-0.15.3-r1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 optfeature pypi systemd
+
+DESCRIPTION="A Matrix-Telegram Messenger puppeting bridge "
+HOMEPAGE="https://github.com/mautrix/telegram/"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="crypt minimal +qrcode socks5 sqlite"
+
+RDEPEND="
+ acct-user/mautrix-telegram
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/asyncpg[${PYTHON_USEDEP}]
+ dev-python/commonmark[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/mautrix[crypt?,${PYTHON_USEDEP}]
+ dev-python/pkg-resources[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ >=dev-python/tulir-telethon-1.99.0_alpha6[${PYTHON_USEDEP}]
+ dev-python/yarl[${PYTHON_USEDEP}]
+ || (
+ dev-python/python-magic[${PYTHON_USEDEP}]
+ sys-apps/file[python,${PYTHON_USEDEP}]
+ )
+ !minimal? (
+ app-arch/brotli[python,${PYTHON_USEDEP}]
+ dev-python/aiodns[${PYTHON_USEDEP}]
+ dev-python/cryptg[${PYTHON_USEDEP}]
+ dev-python/phonenumbers[${PYTHON_USEDEP}]
+ )
+ qrcode? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/qrcode[${PYTHON_USEDEP}]
+ )
+ socks5? ( dev-python/python-socks[${PYTHON_USEDEP}] )
+ sqlite? ( dev-python/aiosqlite[${PYTHON_USEDEP}] )
+"
+
+EPYTEST_PLUGINS=( pytest-import-check )
+
+distutils_enable_tests import-check
+
+python_test() {
+ local sitedir="${BUILD_DIR}/install$(python_get_sitedir)"
+ local EPYTEST_IGNORE=(
+ "${sitedir}/mautrix_telegram/__main__.py"
+ "${sitedir}/mautrix_telegram/abstract_user.py"
+ "${sitedir}/mautrix_telegram/scripts/unicodemojipack/__main__.py"
+ )
+
+ epytest --import-check "${sitedir}"
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ keepdir /var/log/mautrix
+ fowners root:mautrix /var/log/mautrix
+ fperms 770 /var/log/mautrix
+
+ mkdir -p "${ED}"/etc/mautrix || die
+ sed -i "${ED}/usr/example-config.yaml" \
+ -e "s:\./mautrix-telegram.log:/var/log/mautrix/${PN}.log:" || die
+ mv "${ED}"/usr/example-config.yaml "${ED}"/etc/mautrix/mautrix_telegram.yaml || die
+
+ newinitd "${FILESDIR}"/mautrix-telegram.initd-r1 mautrix-telegram
+ newconfd "${FILESDIR}"/mautrix-telegram.confd mautrix-telegram
+ systemd_dounit "${FILESDIR}"/mautrix-telegram.service
+
+ fowners -R root:mautrix /etc/mautrix
+ fperms -R 770 /etc/mautrix
+}
+
+pkg_postinst() {
+ optfeature "Prometheus statistics support" dev-python/prometheus_client
+
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ einfo
+ elog "Before you can use mautrix-telegram, you need to configure it correctly."
+ elog "The configuration file is located at \"/etc/mautrix/mautrix_telegram.yaml\""
+ elog
+ elog "When done, run the following command:"
+ elog " # emerge --config ${CATEGORY}/${PN}"
+ elog
+ elog "Then, you need to register the bridge with your homeserver."
+ elog "Refer your homeserver's documentation for instructions."
+ elog "The registration file is located at /var/lib/mautrix_telegram/registration.yaml"
+ elog
+ elog "Finally, you may start the mautrix-telegram daemon."
+ einfo
+ fi
+}
+
+pkg_config() {
+ su - mautrix-telegram -s /bin/sh -c \
+ "/usr/bin/python -m mautrix_telegram -c /etc/mautrix/mautrix_telegram.yaml -g -r /var/lib/mautrix_telegram/registration.yaml"
+}