# Contributor: Henrik Riomar <henrik.riomar@gmail.com>
# Maintainer: Henrik Riomar <henrik.riomar@gmail.com>
pkgname=nats-server
pkgver=2.11.4
pkgrel=0
pkgdesc="High-Performance server for NATS.io"
url="https://github.com/nats-io/nats-server"
arch="all !riscv64" # limited by failing check()
license="Apache-2.0"
makedepends="go"
options="net" # Go modules
source="https://github.com/nats-io/nats-server/archive/v$pkgver/nats-server-$pkgver.tar.gz
	make-TestNoRaceSeqSetRelativeSpeed-more-forgiving.patch
	"

# secfixes:
#   2.10.27-r0:
#     - CVE-2025-30215
#   2.10.4-r0:
#     - CVE-2023-46129

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

build() {
	go build
}

check() {
	# skip logger due to that it needs syslog
	# skip other failing tests (due to -buildmode=pie and some timeouts)
	# we want wordsplitting disable SC2046
	# shellcheck disable=SC2046
	go test -p=1 -count=1 -vet=off -timeout=30m -failfast $(go list ./... | grep -v \
		-e 'logger$' \
		-e 'server$' \
		-e 'server/pse$' \
		-e 'test$'
		)
}

package() {
	install -Dm755 nats-server "$pkgdir"/usr/bin/nats-server
}

sha512sums="
9ee13fdd538fb806caf9baa2f0dcfa19d3a98006689ff3a8db79b866709f4c9ad9c3e6a53a9c0a6339258150292ad41636c9184f4dcfba7cdd37de4af07c4a74  nats-server-2.11.4.tar.gz
b4b5072d5d0fa5c0ecf6dfad77b668d1a470d7fac89a99daeb48f6be69d2620b5f15a37d173c497810485802341c030b0e94073ce9c0ef7d5e1396d1c62471c5  make-TestNoRaceSeqSetRelativeSpeed-more-forgiving.patch
"
