aboutsummaryrefslogtreecommitdiff
path: root/net-libs/meta-srht/meta-srht-0.64.4.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/meta-srht/meta-srht-0.64.4.ebuild')
-rw-r--r--net-libs/meta-srht/meta-srht-0.64.4.ebuild86
1 files changed, 86 insertions, 0 deletions
diff --git a/net-libs/meta-srht/meta-srht-0.64.4.ebuild b/net-libs/meta-srht/meta-srht-0.64.4.ebuild
new file mode 100644
index 0000000..212493c
--- /dev/null
+++ b/net-libs/meta-srht/meta-srht-0.64.4.ebuild
@@ -0,0 +1,86 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..10} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 go-module optfeature systemd
+
+DESCRIPTION="The central authentication and account service for sr.ht"
+HOMEPAGE="https://git.sr.ht/~sircmpwn/meta.sr.ht"
+SRC_URI="http://git.sr.ht/~sircmpwn/meta.sr.ht/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="network-sandbox"
+IUSE="billing"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ acct-user/meta-srht
+ acct-group/meta-srht
+ dev-python/dnspython[${PYTHON_USEDEP}]
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/django-markdownify[${PYTHON_USEDEP}]
+ dev-python/core-srht[${PYTHON_USEDEP}]
+ dev-python/qrcode[${PYTHON_USEDEP}]
+ dev-python/redis-py[${PYTHON_USEDEP}]
+ dev-python/python-sshpubkeys[${PYTHON_USEDEP}]
+ dev-python/zxcvbn[${PYTHON_USEDEP}]
+ www-servers/gunicorn[${PYTHON_USEDEP}]
+
+ billing? (
+ dev-python/stripe
+ dev-python/weasyprint
+ )
+"
+BDEPEND="net-libs/nodejs
+ dev-lang/sassc
+ dev-lang/go
+"
+
+S="${WORKDIR}/meta.sr.ht-${PV}"
+
+src_unpack() {
+ default_src_unpack
+}
+
+src_compile() {
+ distutils-r1_src_compile
+ cd "${S}/api" || die
+ ego build -o metasrht-api
+}
+
+src_install() {
+ distutils-r1_src_install
+ dobin "${S}/api/metasrht-api"
+ dodir "/etc/sr.ht"
+ insinto "/etc/sr.ht/"
+ newins "${S}/config.example.ini" "config.example.meta.sr.ht.ini"
+ doins "${FILESDIR}/meta.sr.ht.gunicorn.conf.py"
+ exeinto "/etc/cron.daily"
+ doexe "${FILESDIR}/meta.sr.ht.cron"
+ newinitd "${FILESDIR}/meta.sr.ht.initd" "meta.sr.ht"
+ newconfd "${FILESDIR}/meta.sr.ht.confd" "meta.sr.ht"
+ newinitd "${FILESDIR}/meta.sr.ht-api.initd" "meta.sr.ht-api"
+ newconfd "${FILESDIR}/meta.sr.ht-api.confd" "meta.sr.ht-api"
+ newinitd "${FILESDIR}/meta.sr.ht-webhooks.initd" "meta.sr.ht-webhooks"
+ newconfd "${FILESDIR}/meta.sr.ht-webhooks.confd" "meta.sr.ht-webhooks"
+ systemd_dounit "${FILESDIR}/meta.sr.ht.service"
+ systemd_dounit "${FILESDIR}/meta.sr.ht-api.service"
+ systemd_dounit "${FILESDIR}/meta.sr.ht-webhooks.service"
+ systemd_dounit "${FILESDIR}/meta.sr.ht-daily.service"
+ systemd_dounit "${FILESDIR}/meta.sr.ht-daily.timer"
+
+ if use billing; then
+ PYVER="$(python3 --version | cut -d. -f1-2 | cut -d' ' -f2-)"
+ dodir "/usr/lib/python${PYVER}/site-packages/metasrht/"
+ touch "/usr/lib/python${PYVER}/site-packages/metasrht/.billing" || die
+ fi
+}
+
+plg_postinst() {
+ optfeature "daily maintenance" "virtual/cron"
+}