pkgname=keepassgo-git
pkgver=r0.0000000
pkgrel=1
pkgdesc='KeePass-compatible password manager written in Go'
arch=('x86_64' 'aarch64')
url='https://git.julianfamily.org/joejulian/keepassgo'
license=('custom')
depends=(
  'glibc'
  'hicolor-icon-theme'
  'libx11'
  'libxcursor'
  'libxfixes'
  'libxkbcommon'
  'libxkbcommon-x11'
  'mesa'
  'wayland'
)
makedepends=(
  'git'
  'go'
  'pkgconf'
)
provides=('keepassgo')
conflicts=('keepassgo')
source=('git+https://git.julianfamily.org/joejulian/keepassgo.git')
sha256sums=('SKIP')

_repo_dir() {
  if [[ -d "${srcdir}/keepassgo/.git" ]]; then
    printf '%s\n' "${srcdir}/keepassgo"
    return
  fi

  cd "${startdir}/../../.." || exit 1
  pwd
}

pkgver() {
  cd "$(_repo_dir)"
  printf 'r%s.%s' "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

build() {
  cd "$(_repo_dir)"
  export CGO_ENABLED=1
  export GOFLAGS="-trimpath"
  go build -o keepassgo .
}

package() {
  cd "$(_repo_dir)"

  install -Dm755 keepassgo "${pkgdir}/usr/bin/keepassgo"
  install -Dm644 assets/keepassgo-icon.png \
    "${pkgdir}/usr/share/icons/hicolor/512x512/apps/keepassgo.png"
  install -Dm644 assets/keepassgo-icon.svg \
    "${pkgdir}/usr/share/icons/hicolor/scalable/apps/keepassgo.svg"
  install -Dm644 packaging/archlinux/keepassgo-git/keepassgo.desktop \
    "${pkgdir}/usr/share/applications/keepassgo.desktop"
  install -Dm644 README.md \
    "${pkgdir}/usr/share/licenses/${pkgname}/README.md"
}
