# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
maintainer="Matthias Ahouansou <matthias@ahouansou.cz>"
pkgname=sqlx
pkgver=0.8.6
pkgrel=0
pkgdesc="Command-line utility for SQLx, the Rust SQL toolkit"
url="https://github.com/launchbadge/sqlx"
arch="all"
license="MIT OR Apache-2.0"
makedepends="
	cargo
	cargo-auditable
	clang-dev
	openssl-dev
	sqlite-dev
"
subpackages="
	$pkgname-doc
	$pkgname-bash-completion
	$pkgname-zsh-completion
	$pkgname-fish-completion
	cargo-$pkgname:cargosqlx
"
source="$pkgname-$pkgver.tar.gz::https://github.com/launchbadge/sqlx/archive/refs/tags/v$pkgver.tar.gz"
options="net"

_cargo_args="-p sqlx-cli --frozen"

prepare() {
	default_prepare
	cargo fetch --target="$CTARGET" --locked
}

build() {
	cargo auditable build --release --features sqlite-unbundled $_cargo_args
}

check() {
	cargo test --features sqlite-unbundled $_cargo_args
}

package() {
	install -Dm 755 target/release/sqlx "$pkgdir"/usr/bin/sqlx

	for l in -APACHE -MIT
	do
		install -Dm 644 LICENSE"$l" "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE"$l"
	done

	install -d "$pkgdir"/usr/share/bash-completion/completions \
		"$pkgdir"/usr/share/zsh/site-functions \
		"$pkgdir"/usr/share/fish/vendor_completions.d
	"$pkgdir"/usr/bin/sqlx completions bash > "$pkgdir"/usr/share/bash-completion/completions/sqlx
	"$pkgdir"/usr/bin/sqlx completions zsh > "$pkgdir"/usr/share/zsh/site-functions/_sqlx
	"$pkgdir"/usr/bin/sqlx completions fish > "$pkgdir"/usr/share/fish/vendor_completions.d/sqlx.fish

}

cargosqlx() {
	pkgdesc="$pkgdesc - cargo subcommand"
	depends="cargo"
	install_if="$pkgname=$pkgver-r$pkgrel cargo"

	install -Dm 755 "$builddir"/target/release/cargo-sqlx "$subpkgdir"/usr/bin/cargo-sqlx
}

sha512sums="
d2d6713c11f0ba77d24cc1c48e62c528ec1cb2095fd70e6bb10ecab41d27bfa9d1fc58ea6663548b9fadefb00a0e954bf71dfb1a299d8bf06097c3c6907ad920  sqlx-0.8.6.tar.gz
"
