From e14e9a7241278b37bc8e8c5f76d9d01bb92117d1 Mon Sep 17 00:00:00 2001 From: Julien Roy Date: Sat, 21 Jan 2023 21:56:14 -0500 Subject: [PATCH] net-im/mautrix-facebook: new package, add 0.4.1 Signed-off-by: Julien Roy --- net-im/mautrix-facebook/Manifest | 1 + .../files/mautrix-facebook.initd | 25 ++++++ .../files/mautrix-facebook.unit | 12 +++ .../mautrix-facebook-0.4.1.ebuild | 76 +++++++++++++++++++ net-im/mautrix-facebook/metadata.xml | 19 +++++ 5 files changed, 133 insertions(+) create mode 100644 net-im/mautrix-facebook/Manifest create mode 100644 net-im/mautrix-facebook/files/mautrix-facebook.initd create mode 100644 net-im/mautrix-facebook/files/mautrix-facebook.unit create mode 100644 net-im/mautrix-facebook/mautrix-facebook-0.4.1.ebuild create mode 100644 net-im/mautrix-facebook/metadata.xml diff --git a/net-im/mautrix-facebook/Manifest b/net-im/mautrix-facebook/Manifest new file mode 100644 index 0000000000..2f2095dc24 --- /dev/null +++ b/net-im/mautrix-facebook/Manifest @@ -0,0 +1 @@ +DIST mautrix-facebook-0.4.1.gh.tar.gz 147071 BLAKE2B d74341a642825cf0f8ca1ae7c212a6b8cd0678bd8f0a01bb8eea7e6da512be4197dd72a026e8be199e708d2798af2f84f00f5eaec7a466c0cfe70ce9b157b61f SHA512 7f31408a64a969180fe28de15c5844023d73acd06ef7257e757c43c377ddd0eaa570a931ef05a8bc8d6547040cddebb779c426d94129598ebe72fa50ce9a0681 diff --git a/net-im/mautrix-facebook/files/mautrix-facebook.initd b/net-im/mautrix-facebook/files/mautrix-facebook.initd new file mode 100644 index 0000000000..2ff5861f97 --- /dev/null +++ b/net-im/mautrix-facebook/files/mautrix-facebook.initd @@ -0,0 +1,25 @@ +#!/sbin/openrc-run +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +name="mautrix-facebook daemon" +description="A Matrix-Facebook Messenger puppeting bridge" +module="mautrix_facebook" + +pidfile="/run/${RC_SVCNAME}.pid" +command="/usr/bin/python" +command_args="-m ${module} -c /etc/mautrix/${module}.yaml -r /var/lib/mautrix/facebook/registration.yaml" +command_background=true +command_user="mautrix-facebook:mautrix" + +output_log="/var/log/mautrix/mautrix-facebook_daemon.log" +error_log="/var/log/mautrix/mautrix-facebook_daemon.log" + +depend() { + need net +} + +start_pre() { + checkpath -d -m 0755 -o "$command_user" /var/lib/mautrix/facebook + checkpath -f -m 0644 -o "$command_user" "$output_log" +} diff --git a/net-im/mautrix-facebook/files/mautrix-facebook.unit b/net-im/mautrix-facebook/files/mautrix-facebook.unit new file mode 100644 index 0000000000..7f21b317fd --- /dev/null +++ b/net-im/mautrix-facebook/files/mautrix-facebook.unit @@ -0,0 +1,12 @@ +[Unit] +Description=A Matrix-Facebook Messenger puppeting bridge +After=network.target + +[Service] +User=mautrix-facebook +Group=mautrix +Restart=always +ExecStart=/usr/bin/python -m mautrix_facebook -c /etc/mautrix/mautrix_facebook.yaml -r /var/lib/mautrix/facebook/registration.yaml + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/net-im/mautrix-facebook/mautrix-facebook-0.4.1.ebuild b/net-im/mautrix-facebook/mautrix-facebook-0.4.1.ebuild new file mode 100644 index 0000000000..26ab6483fd --- /dev/null +++ b/net-im/mautrix-facebook/mautrix-facebook-0.4.1.ebuild @@ -0,0 +1,76 @@ +# 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_{9..10} ) + +inherit distutils-r1 optfeature systemd + +DESCRIPTION="A Matrix-Facebook Messenger puppeting bridge " +HOMEPAGE="https://github.com/mautrix/facebook/" +SRC_URI="https://github.com/mautrix/facebook/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/facebook-${PV}" + +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + acct-user/${PN} + dev-python/aiohttp[${PYTHON_USEDEP}] + dev-python/asyncpg[${PYTHON_USEDEP}] + dev-python/commonmark[${PYTHON_USEDEP}] + dev-python/mautrix[${PYTHON_USEDEP}] + dev-python/olm[${PYTHON_USEDEP}] + dev-python/paho-mqtt[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP}] + dev-python/pycryptodome[${PYTHON_USEDEP}] + dev-python/python-magic[${PYTHON_USEDEP}] + dev-python/python-zstandard[${PYTHON_USEDEP}] + dev-python/ruamel-yaml[${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_newunit "${FILESDIR}/${PN}.unit" "${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 to 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" +} diff --git a/net-im/mautrix-facebook/metadata.xml b/net-im/mautrix-facebook/metadata.xml new file mode 100644 index 0000000000..23daf1e237 --- /dev/null +++ b/net-im/mautrix-facebook/metadata.xml @@ -0,0 +1,19 @@ + + + + + julien@jroy.ca + Julien Roy + + + + Tulir Asokan + tulir@maunium.net + + https://github.com/mautrix/facebook/releases + https://docs.mau.fi/bridges/python/facebook/index.html + https://github.com/mautrix/facebook/issues + mautrix/facebook + mautrix-facebook + +