# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
pkgname=certbot-dns
pkgver=4.0.0
pkgrel=0
pkgdesc="Official DNS provider integrations for certbot"
url="https://github.com/certbot/certbot"
arch="noarch"
license="Apache-2.0"
depends="
	certbot~$pkgver
	py3-boto3
	py3-cloudflare
	py3-digitalocean
	py3-dnspython
	py3-dns-lexicon
	py3-google-api-python-client
	py3-httplib2
	py3-oauth2client
	"
makedepends="
	py3-gpep517
	py3-setuptools
	py3-wheel
	"
checkdepends="
	py3-pytest
	py3-pytest-xdist
	"
subpackages="
	$pkgname-cloudflare
	$pkgname-digitalocean
	$pkgname-dnsimple
	$pkgname-dnsmadeeasy
	$pkgname-gehirn
	$pkgname-google
	$pkgname-linode
	$pkgname-luadns
	$pkgname-nsone
	$pkgname-ovh
	$pkgname-rfc2136
	$pkgname-route53
	$pkgname-sakuracloud
	"
source="https://github.com/certbot/certbot/archive/refs/tags/v$pkgver/certbot-$pkgver.tar.gz"
builddir="$srcdir/certbot-$pkgver"

build() {
	for provider in $subpackages; do
		(
			cd "$provider"
			gpep517 build-wheel \
				--wheel-dir .dist \
				--output-fd 3 3>&1 >&2
		)
	done
}

check() {
	python3 -m venv --clear --without-pip --system-site-packages .testenv
	for provider in $subpackages; do
		.testenv/bin/python3 -m installer $provider/.dist/*.whl
	done
	.testenv/bin/python3 -m pytest -n 4 -p no:warnings certbot-dns-*
}

package() {
	depends="$subpackages"

	for provider in $subpackages; do
		python3 -m installer -d "$pkgdir" \
			$provider/.dist/*.whl
	done
}

cloudflare() {
	depends="py3-cloudflare"

	amove usr/lib/python*/site-packages/certbot_dns_cloudflare*
}

digitalocean() {
	depends="py3-digitalocean"

	amove usr/lib/python*/site-packages/certbot_dns_digitalocean*
}

dnsimple() {
	depends="py3-dns-lexicon"

	amove usr/lib/python*/site-packages/certbot_dns_dnsimple*
}

dnsmadeeasy() {
	depends="py3-dns-lexicon"

	amove usr/lib/python*/site-packages/certbot_dns_dnsmadeeasy*
}

gehirn() {
	depends="py3-dns-lexicon"

	amove usr/lib/python*/site-packages/certbot_dns_gehirn*
}

google() {
	depends="py3-google-api-python-client py3-oauth2client py3-httplib2"

	amove usr/lib/python*/site-packages/certbot_dns_google*
}

linode() {
	depends="py3-dns-lexicon"

	amove usr/lib/python*/site-packages/certbot_dns_linode*
}

luadns() {
	depends="py3-dns-lexicon"

	amove usr/lib/python*/site-packages/certbot_dns_luadns*
}

nsone() {
	depends="py3-dns-lexicon"

	amove usr/lib/python*/site-packages/certbot_dns_nsone*
}

ovh() {
	depends="py3-dns-lexicon"

	amove usr/lib/python*/site-packages/certbot_dns_ovh*
}

rfc2136() {
	depends="py3-dnspython"

	amove usr/lib/python*/site-packages/certbot_dns_rfc2136*
}

route53() {
	depends="py3-boto3"

	amove usr/lib/python*/site-packages/certbot_dns_route53*
}

sakuracloud() {
	depends="py3-dns-lexicon"

	amove usr/lib/python*/site-packages/certbot_dns_sakuracloud*
}

sha512sums="
a34c65c603a5e07ac95143168d651b7d76c3d9403b39b12201d74a23ddbd42019062cb2c0819faae82f2691462324538f1d4db6cdb44c82eddeb4782c0bd86f9  certbot-4.0.0.tar.gz
"
