mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-04-13 00:16:45 +02:00
80 lines
2.4 KiB
Text
80 lines
2.4 KiB
Text
maintainer="Hoang Nguyen <folliekazetani@protonmail.com>"
|
|
pkgname=opa
|
|
pkgver=1.2.0
|
|
pkgrel=1
|
|
pkgdesc="Open source, general-purpose policy engine"
|
|
url="https://www.openpolicyagent.org/"
|
|
arch="x86_64 aarch64" # blocked by wasmtime
|
|
license="Apache-2.0"
|
|
makedepends="go wasmtime-dev"
|
|
checkdepends="tzdata"
|
|
subpackages="
|
|
$pkgname-doc
|
|
$pkgname-bash-completion
|
|
$pkgname-fish-completion
|
|
$pkgname-zsh-completion
|
|
"
|
|
source="
|
|
$pkgname-$pkgver.tar.gz::https://github.com/open-policy-agent/opa/archive/refs/tags/v$pkgver.tar.gz
|
|
update-wasmtime-go.patch
|
|
"
|
|
options="net" # go mod vendor
|
|
|
|
export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
|
|
export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
|
|
export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
|
|
|
|
prepare() {
|
|
default_prepare
|
|
|
|
# Do this to keep our wasmtime patch small, until upstream resolves the issue
|
|
go mod vendor
|
|
}
|
|
|
|
build() {
|
|
# report.ExternalServiceURL is left blank to disable telemetry
|
|
# - "opa version -c" errors out
|
|
# - "opa run" fails the version check process silently in the background
|
|
# this is intended :)
|
|
local goldflags="
|
|
-X github.com/open-policy-agent/opa/version.Version=$pkgver
|
|
-X github.com/open-policy-agent/opa/version.Hostname=AlpineLinux
|
|
-X github.com/open-policy-agent/opa/version.Vcs=0000000000000000000000000000000000000000
|
|
-X github.com/open-policy-agent/opa/version.Timestamp=$(date -u "+%Y-%m-%dT%H:%M:%SZ" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
|
|
-X github.com/open-policy-agent/opa/internal/report.ExternalServiceURL=
|
|
"
|
|
|
|
export CGO_CFLAGS="$CFLAGS"
|
|
export CGO_LDFLAGS="$LDFLAGS -L/usr/lib -lwasmtime"
|
|
|
|
go build -v -ldflags "$goldflags" -tags opa_wasm
|
|
|
|
mkdir -p man/
|
|
go run build/generate-man/generate.go man/
|
|
|
|
for shell in bash fish zsh; do
|
|
./opa completion $shell > opa.$shell
|
|
done
|
|
}
|
|
|
|
check() {
|
|
go test ./...
|
|
}
|
|
|
|
package() {
|
|
install -Dm755 opa -t "$pkgdir"/usr/bin/
|
|
|
|
install -Dm644 man/*.1 -t "$pkgdir"/usr/share/man/man1/
|
|
|
|
install -Dm644 opa.bash \
|
|
"$pkgdir"/usr/share/bash-completion/completions/opa
|
|
install -Dm644 opa.fish \
|
|
"$pkgdir"/usr/share/fish/vendor_completions.d/opa.fish
|
|
install -Dm644 opa.zsh \
|
|
"$pkgdir"/usr/share/zsh/site-functions/_opa
|
|
}
|
|
|
|
sha512sums="
|
|
510534afa3620f92f9e206557725b89a2f83019f9614c13d59a149a9bfc7b0b44daaf729b9ac0aca16b5370d77c4e8ce81459a2a916f296a68b90da42b289bef opa-1.2.0.tar.gz
|
|
25d1faa62636109beb3e15eb97c39e580ba188147a2f3632791476ee638f82a0f6e3098ef82088dd8d52e505437b63a6e30775b01adf8c08ea04f3ca57e2755e update-wasmtime-go.patch
|
|
"
|