# Contributor: omni <omni+alpine@hack.org>
# Maintainer: omni <omni+alpine@hack.org>
maintainer="omni <omni+alpine@hack.org>"
pkgname=snowflake
pkgver=2.11.0
pkgrel=0
pkgdesc="Pluggable Transport for Tor using WebRTC, inspired by Flashproxy"
url="https://snowflake.torproject.org/"
license="BSD-3-Clause"
arch="all"
makedepends="go"
subpackages="$pkgname-doc"
source="https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/archive/v$pkgver/snowflake-v$pkgver.tar.gz
	0001-fix-build-error-on-loongarch64_patch
	"
builddir="$srcdir/$pkgname-v$pkgver"

export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"

prepare() {
	default_prepare

	case "$CARCH" in
	loongarch64)
		patch -p1 -i "$srcdir"/0001-fix-build-error-on-loongarch64_patch
		;;
	esac
}

build() {
	cd "$builddir"/client
	go build -v .

	cd "$builddir"/proxy
	go build -v .
}

check() {
	# no test files, but let's at least do this
	./client/client -version
	./proxy/proxy -version
}

package() {
	install -Dm0755 client/client "$pkgdir"/usr/bin/"$pkgname"-client
	install -Dm0755 proxy/proxy "$pkgdir"/usr/bin/"$pkgname"-proxy

	install -Dm0644 -t "$pkgdir"/usr/share/man/man1/ doc/snowflake-*.1
	install -Dm0644 -t "$pkgdir"/usr/share/doc/"$pkgname"/ \
		doc/broker-spec.txt doc/rendezvous-with-sqs.md \
		ChangeLog
}

sha512sums="
6e1f1d0ed9741b019829b378b14742065f410e483d134e7ac7601ecf970da73090ecbe6106b633e0d8158e94490941b6b62186d7d4415069f7ff412c56d5558e  snowflake-v2.11.0.tar.gz
3dbffdef813ced4e33346d4655be5ac1f40c1c2150b5e3a6826794a15aa76bdbbb3f00b4672f5e0fb18b9dccc5215772856061031ed036a585f65384732352e0  0001-fix-build-error-on-loongarch64_patch
"
