generated from archlinux/template
52 lines
1.7 KiB
Bash
52 lines
1.7 KiB
Bash
# Maintainer: Matthias Lisin <ml@visu.li>
|
|
pkgname=golangci-lint
|
|
pkgdesc="Linters Runner for Go. 5x faster than gometalinter."
|
|
pkgver=1.26.0
|
|
pkgrel=1
|
|
arch=('x86_64' 'i686' 'aarch64' 'armv7h' 'armv6h')
|
|
url='https://github.com/golangci/golangci-lint'
|
|
license=('GPL3')
|
|
depends=('glibc')
|
|
makedepends=('git' 'go' 'gzip')
|
|
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/golangci/golangci-lint/archive/v${pkgver}.tar.gz")
|
|
sha256sums=('fac66b685253d76625c18177e03d36bca0a5dac52a0c3978fc96daad07bcb704')
|
|
|
|
prepare() {
|
|
cd "${pkgname}-${pkgver}"
|
|
go mod download
|
|
}
|
|
|
|
build() {
|
|
local _commit _flags
|
|
_commit=$(zcat "${pkgname}-${pkgver}.tar.gz" | git get-tar-commit-id)
|
|
_flags=(
|
|
-X=main.version=$pkgver
|
|
-X=main.commit=${_commit::7}
|
|
-X=main.date=$(date -u -d "@${SOURCE_DATE_EPOCH}" +'%FT%TZ')
|
|
)
|
|
export CGO_CFLAGS="${CFLAGS}"
|
|
export CGO_CPPFLAGS="$CPPFLAGS"
|
|
export CGO_CXXFLAGS="$CXXFLAGS"
|
|
export CGO_LDFLAGS="${LDFLAGS}"
|
|
export GOFLAGS='-buildmode=pie -trimpath -modcacherw -mod=readonly'
|
|
cd "${pkgname}-${pkgver}"
|
|
go build -o "$pkgname" -ldflags="${_flags[*]}" ./cmd/"$pkgname"
|
|
}
|
|
|
|
check() {
|
|
cd "${pkgname}-${pkgver}"
|
|
# some tests build the binary and overwrite our build
|
|
chmod 555 "$pkgname" # canary
|
|
# CGO_CFLAGS break tests when run inside ~/.cache (yay).
|
|
# TODO investigate
|
|
unset CGO_CFLAGS
|
|
GOLANGCI_LINT_INSTALLED=true go test ./...
|
|
}
|
|
|
|
package() {
|
|
cd "${pkgname}-${pkgver}"
|
|
install -Dm755 "$pkgname" -t "$pkgdir"/usr/bin
|
|
./"$pkgname" completion bash | install -Dm644 /dev/stdin "$pkgdir"/usr/share/bash-completion/completions/golangci-lint
|
|
./"$pkgname" completion zsh | install -Dm644 /dev/stdin "$pkgdir"/usr/share/zsh/site-functions/_golangci-lint
|
|
}
|