84 lines
2.6 KiB
Bash
84 lines
2.6 KiB
Bash
# Copyright 2022-2023 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
DISTUTILS_USE_PEP517=setuptools
|
|
PYTHON_COMPAT=( python3_{10..11} )
|
|
|
|
inherit distutils-r1 optfeature systemd
|
|
|
|
DESCRIPTION="A Matrix-Telegram Messenger puppeting bridge "
|
|
HOMEPAGE="https://github.com/mautrix/telegram/"
|
|
SRC_URI="https://github.com/mautrix/telegram/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
|
|
S="${WORKDIR}/telegram-${PV}"
|
|
|
|
LICENSE="AGPL-3"
|
|
SLOT="0"
|
|
KEYWORDS="~amd64"
|
|
|
|
RDEPEND="
|
|
acct-user/${PN}
|
|
app-arch/brotli[python]
|
|
dev-python/aiohttp[${PYTHON_USEDEP}]
|
|
dev-python/aiodns[${PYTHON_USEDEP}]
|
|
>=dev-python/asyncpg-0.20[${PYTHON_USEDEP}]
|
|
!<dev-python/asyncpg-0.30[${PYTHON_USEDEP}]
|
|
dev-python/commonmark[${PYTHON_USEDEP}]
|
|
dev-python/cryptg[${PYTHON_USEDEP}]
|
|
dev-python/mako[${PYTHON_USEDEP}]
|
|
>=dev-python/mautrix-0.20.3[${PYTHON_USEDEP}]
|
|
!<dev-python/mautrix-0.21[${PYTHON_USEDEP}]
|
|
dev-python/python-olm[${PYTHON_USEDEP}]
|
|
dev-python/phonenumbers[${PYTHON_USEDEP}]
|
|
dev-python/pycryptodome[${PYTHON_USEDEP}]
|
|
dev-python/python-magic[${PYTHON_USEDEP}]
|
|
dev-python/qrcode[${PYTHON_USEDEP}]
|
|
>=dev-python/ruamel-yaml-0.15.35[${PYTHON_USEDEP}]
|
|
!<dev-python/ruamel-yaml-0.19[${PYTHON_USEDEP}]
|
|
>=dev-python/tulir-telethon-1.33.0_alpha1[${PYTHON_USEDEP}]
|
|
dev-python/unpaddedbase64[${PYTHON_USEDEP}]
|
|
dev-python/yarl[${PYTHON_USEDEP}]
|
|
"
|
|
DEPEND="${RDEPEND}"
|
|
|
|
src_install() {
|
|
distutils-r1_src_install
|
|
|
|
keepdir /var/log/mautrix
|
|
fowners root:mautrix /var/log/mautrix
|
|
fperms 770 /var/log/mautrix
|
|
sed -i -e "s/\.\/${PN}.log/\/var\/log\/mautrix\/${PN}.log/" "${ED}/usr/example-config.yaml" || die
|
|
|
|
insinto "/etc/mautrix"
|
|
newins "${ED}/usr/example-config.yaml" "${PN/-/_}.yaml"
|
|
rm "${ED}/usr/example-config.yaml" || die
|
|
|
|
newinitd "${FILESDIR}/${PN}.initd" "${PN}"
|
|
systemd_dounit "${FILESDIR}/${PN}.service"
|
|
|
|
fowners -R root:mautrix /etc/mautrix
|
|
fperms -R 770 /etc/mautrix
|
|
}
|
|
|
|
pkg_postinst() {
|
|
optfeature "Prometheus statistics" dev-python/prometheus_client
|
|
optfeature "Sqlite backend" dev-python/aiosqlite
|
|
|
|
einfo
|
|
elog ""
|
|
elog "Before you can use ${PN}, you must configure it correctly"
|
|
elog "The configuration file is located at \"/etc/mautrix/${PN/-/_}.yaml\""
|
|
elog "When done, run the following command: emerge --config ${CATEGORY}/${PN}"
|
|
elog "Then, you must register the bridge with your homeserver"
|
|
elog "Refer your homeserver's documentation for instructions"
|
|
elog "The registration file is located at /var/lib/${PN/-/\/}/registration.yaml"
|
|
elog "Finally, you may start the ${PN} daemon"
|
|
einfo
|
|
}
|
|
|
|
pkg_config() {
|
|
su - "${PN}" -s /bin/sh -c \
|
|
"/usr/bin/python -m ${PN/-/_} -c /etc/mautrix/${PN/-/_}.yaml -g -r /var/lib/${PN/-/\/}/registration.yaml"
|
|
}
|