# Maintainer: Celeste <cielesti@protonmail.com>
maintainer="Celeste <cielesti@protonmail.com>"
pkgname=tiny
pkgver=0.13.0
pkgrel=0
pkgdesc="Terminal IRC client written in Rust"
url="https://github.com/osa1/tiny"
# s390x: fails to build due to nix crate
arch="all !s390x"
license="MIT"
makedepends="
	cargo
	cargo-auditable
	openssl-dev
	"
subpackages="$pkgname-doc"
source="https://github.com/osa1/tiny/archive/v$pkgver/tiny-$pkgver.tar.gz
	update-cargo-lock.patch
	nix-crate-loongarch64_patch
	"

_cargo_opts="--frozen --no-default-features --features=tls-native"

# taken from main/rust/APKBUILD
_clear_vendor_checksums() {
	sed -i 's/\("files":{\)[^}]*/\1/' vendor/$1/.cargo-checksum.json
}

prepare() {
	default_prepare

	cargo vendor --locked

	_clear_vendor_checksums nix
	patch vendor/nix/src/sys/ioctl/linux.rs \
		"$srcdir"/nix-crate-loongarch64_patch

	mkdir -p .cargo
	cat >> .cargo/config.toml <<-EOF
		[source.crates-io]
		replace-with = "vendored-sources"

		[source.vendored-sources]
		directory = "vendor"
	EOF
}

build() {
	cargo auditable build $_cargo_opts --release
}

check() {
	cargo test $_cargo_opts
}

package() {
	install -Dvm755 target/release/tiny -t "$pkgdir"/usr/bin/

	install -Dvm644 README.md -t "$pkgdir"/usr/share/doc/$pkgname/
	install -Dvm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
}

sha512sums="
544aa066bd7e808598538f4cdd818a5d2121298085495a8b3fba402959b5332961b955fd142fd1d7f3298d51b973574e3b7ab5dd0d9611bdbd8f8538bd16f98b  tiny-0.13.0.tar.gz
7f8956b83714e0e7cf0f24e761d459a5da1eb6a74b75d10e5b663d1b915ba111e09a0707e446b6bf04c434e6195d821b935a3c9a28509f88dc816d3c8ae98df5  update-cargo-lock.patch
14ffe9ec16139856f428c52d19c3b03fbcc1e10c23aff2bf33679f46552d089f6ee1fae968ceeeb691cff757d55ac631d9d6040780bd8c2a99cdff75df8f3a67  nix-crate-loongarch64_patch
"
