summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 498a3942e4f77c993e8cf5357b6c66f151c425ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Maintainer: Prasanth Baskar <bupdprasanth@gmail.com>

pkgname=harbor-cli
pkgver=0.0.2
pkgrel=2
pkgdesc='Official Harbor CLI'
arch=('x86_64')
url='https://goharbor.io'
license=('Apache-2.0')
makedepends=('git' 'go')
# options=('!lto')
source=("$pkgname::git+https://github.com/goharbor/harbor-cli.git#tag=v$pkgver")
sha512sums=('SKIP')
b2sums=('SKIP')

prepare() {
  cd "$srcdir/$pkgname"

  # directory for the build output
  mkdir -p build

  export CGO_CPPFLAGS="${CPPFLAGS}"
  export CGO_CFLAGS="${CFLAGS}"
  export CGO_CXXFLAGS="${CXXFLAGS}"
  export CGO_LDFLAGS="${LDFLAGS}"
  export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw"

  go mod download  # Download Go modules/dependencies
}

build() {
  cd "$srcdir/$pkgname"

  # build harbor
  # Ensure Go flags are set and build the binary
  go build \
    -trimpath \
    -buildmode=pie \
    -mod=readonly \
    -modcacherw \
    -ldflags "-linkmode external \
    -X github.com/goharbor/harbor-cli/cmd/harbor/internal/version.Version=$(git describe --tags --abbrev=0) \
    -X github.com/goharbor/harbor-cli/cmd/harbor/internal/version.GitCommit=$(git rev-parse HEAD) \
    -X github.com/goharbor/harbor-cli/cmd/harbor/internal/version.BuildTime=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
    -X github.com/goharbor/harbor-cli/cmd/harbor/internal/version.ReleaseChannel=stable \
    -X github.com/goharbor/harbor-cli/cmd/harbor/internal/version.GoVersion=$(go version | awk '{print $3}')" \
    -o "$srcdir/$pkgname/build/harbor" ./cmd/harbor/main.go
  }

  package() {
    cd "$srcdir/$pkgname"

    install -vDm755 -t "$pkgdir/usr/bin" build/harbor
  }