# Maintainer: Evgeniy Alekseev pkgbase='ahriman' pkgname=('ahriman' 'ahriman-core' 'ahriman-triggers' 'ahriman-web') pkgver=2.17.1 pkgrel=1 pkgdesc="ArcH linux ReposItory MANager" arch=('any') url="https://ahriman.readthedocs.io/" license=('GPL-3.0-or-later') depends=('devtools>=1:1.0.0' 'git' 'pyalpm' 'python-bcrypt' 'python-inflection' 'python-pyelftools' 'python-requests') makedepends=('python-build' 'python-flit' 'python-installer' 'python-wheel') source=("https://github.com/arcan1s/ahriman/releases/download/$pkgver/$pkgbase-$pkgver.tar.gz" "$pkgbase.sysusers" "$pkgbase.tmpfiles") build() { cd "$pkgbase-$pkgver" python -m build --wheel --no-isolation } package_ahriman() { pkgname='ahriman' pkgdesc="ArcH linux ReposItory MANager (meta package)" depends=("$pkgbase-core=$pkgver" "$pkgbase-triggers=$pkgver" "$pkgbase-web=$pkgver") } package_ahriman-core() { pkgname='ahriman-core' optdepends=('ahriman-triggers: additional extensions for the application' 'ahriman-web: web server' 'ipython: an enhanced shell interpreter' 'python-boto3: sync to s3' 'python-cerberus: configuration validator' 'python-matplotlib: usage statistics chart' 'python-requests-unixsocket2: client report to web server by unix socket' 'python-jinja: html report generation' 'python-systemd: journal support' 'rsync: sync by using rsync') install="$pkgbase.install" backup=('etc/ahriman.ini' 'etc/ahriman.ini.d/logging.ini') cd "$pkgbase-$pkgver" python -m installer --destdir="$pkgdir" "dist/$pkgbase-$pkgver-py3-none-any.whl" python subpackages.py "$pkgdir" "$pkgname" # keep usr/share configs as reference and copy them to /etc install -Dm644 "$pkgdir/usr/share/$pkgbase/settings/ahriman.ini" "$pkgdir/etc/ahriman.ini" install -Dm644 "$pkgdir/usr/share/$pkgbase/settings/ahriman.ini.d/logging.ini" "$pkgdir/etc/ahriman.ini.d/logging.ini" install -Dm644 "$srcdir/$pkgbase.sysusers" "$pkgdir/usr/lib/sysusers.d/$pkgbase.conf" install -Dm644 "$srcdir/$pkgbase.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/$pkgbase.conf" } package_ahriman-triggers() { pkgname='ahriman-triggers' pkgdesc="ArcH linux ReposItory MANager, additional extensions" depends=("$pkgbase-core=$pkgver") backup=('etc/ahriman.ini.d/00-triggers.ini') cd "$pkgbase-$pkgver" python -m installer --destdir="$pkgdir" "dist/$pkgbase-$pkgver-py3-none-any.whl" python subpackages.py "$pkgdir" "$pkgname" install -Dm644 "$pkgdir/usr/share/$pkgbase/settings/ahriman.ini.d/00-triggers.ini" "$pkgdir/etc/ahriman.ini.d/00-triggers.ini" } package_ahriman-web() { pkgname='ahriman-web' pkgdesc="ArcH linux ReposItory MANager, web server" depends=("$pkgbase-core=$pkgver" 'python-aiohttp-cors' 'python-aiohttp-jinja2') optdepends=('python-aioauth-client: OAuth2 authorization support' 'python-aiohttp-apispec>=3.0.0: autogenerated API documentation' 'python-aiohttp-security: authorization support' 'python-aiohttp-session: authorization support' 'python-cryptography: authorization support') backup=('etc/ahriman.ini.d/00-web.ini') cd "$pkgbase-$pkgver" python -m installer --destdir="$pkgdir" "dist/$pkgbase-$pkgver-py3-none-any.whl" python subpackages.py "$pkgdir" "$pkgname" install -Dm644 "$pkgdir/usr/share/$pkgbase/settings/ahriman.ini.d/00-web.ini" "$pkgdir/etc/ahriman.ini.d/00-web.ini" }