# Contributor: wener <wenermail@gmail.com>
# Maintainer: wener <wenermail@gmail.com>
pkgname=seaweedfs
pkgver=3.80
pkgrel=5
pkgdesc="SeaweedFS is a simple and highly scalable distributed file system to store and serve billions of files fast"
url="https://github.com/seaweedfs/seaweedfs"
license="Apache-2.0"
# loongarch64: blocked by bbolt
arch="all !s390x !ppc64le !riscv64 !loongarch64" # FTBFS
makedepends="go"
subpackages="$pkgname-doc $pkgname-openrc"
source="seaweedfs-$pkgver.tar.gz::https://github.com/seaweedfs/seaweedfs/archive/$pkgver.tar.gz
	seaweedfs.initd
	seaweedfs.confd
	"
options="net"

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

build() {
	GO_LDFLAGS="
		-extldflags \"$LDFLAGS\"
		-X github.com/chrislusf/seaweedfs/weed/util.COMMIT=AlpineLinux
	"
	# build for large disk support
	go build -tags 5BytesOffset -ldflags "$GO_LDFLAGS" -o weed/weed ./weed
	# generate master conf
	./weed/weed scaffold -config master -output ./
}

check() {
	# s3/basic need credential
	# weed/operation need server
	# unmaintained may fail
	# s3client uses non-32 int
	# shellcheck disable=SC2046
	go test -timeout 30m $(go list ./... | grep -v -e 's3/basic$' -e 'weed/operation$' -e 'unmaintained' -e 's3/s3client' )
}

package() {
	install -m755 -D weed/weed "$pkgdir"/usr/bin/weed
	install -m644 -D master.toml "$pkgdir"/etc/$pkgname/master.toml

	install -m644 -D -t "$pkgdir"/usr/share/doc/$pkgname README.md

	install -m755 -D "$srcdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/$pkgname
	install -m644 -D "$srcdir"/$pkgname.confd \
		"$pkgdir"/etc/conf.d/$pkgname
}

sha512sums="
67b003ab4fdf4b0b1ed6ccbc6fcd614904a290abb09ff62504a556e3236702775ef8948e616cada27c9b2843ebc0c7ba47447952a5601a4e37ec21b5d1df79da  seaweedfs-3.80.tar.gz
54a1bb3d77e20e54dc38b08124665fc0f0bc510e9ca044a0d77d43ca45500572b9eae591ac1e55f7d54f95bb16055909534f9a8111ee33662d6a3f2789244adc  seaweedfs.initd
31c4f65425836fc53e6b2e3f93333afb2804d4655aa2903eee10b12a5f337518dae5b3e26510bc76f61e8c917a3e130decdac7ec1faeb9dab143a8aefb3951df  seaweedfs.confd
"
