# Copyright 2022-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_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[${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" }