# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Josip Ponjavic <josipponjavic at gmail dot com>
# Contributor: Xu Fasheng <fasheng.xu[AT]gmail.com>

pkgname=golang-github-linuxdeepin-go-dbus-factory
pkgver=1.9.22
pkgrel=1
pkgdesc='GO DBus factory for DDE'
arch=('any')
url="https://github.com/linuxdeepin/go-dbus-factory"
license=('GPL3')
depends=('golang-deepin-lib')
makedepends=('go' 'git')
provides=('deepin-go-dbus-factory')
conflicts=('deepin-go-dbus-factory')
replaces=('deepin-go-dbus-factory')
source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxdeepin/go-dbus-factory/archive/$pkgver.tar.gz")
sha512sums=('a3150c0e1f448377aa50c92c97f6fb3425e054851e97019ea7deec818497d60afbccd1603f3c529f8388cbcf1091dc64748d71db9c597e4074f219cbff51ffd4')

export GO111MODULE=off

prepare() {
  export GOPATH="$srcdir/build:/usr/share/gocode"
  mkdir -p "$srcdir"/build/src/github.com/linuxdeepin
  cp -a "$srcdir"/go-dbus-factory-$pkgver "$srcdir"/build/src/github.com/linuxdeepin/go-dbus-factory

  go get github.com/godbus/dbus github.com/fsnotify/fsnotify gopkg.in/yaml.v3
}

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"

  cd "$srcdir"/build/src/github.com/linuxdeepin/go-dbus-factory
  make bin

  # Suggested by upstream: don't run
  # ./gen.sh
}

check() {
  export GOPATH="$srcdir/build:/usr/share/gocode"
  cd "$srcdir"/build/src/github.com/linuxdeepin/go-dbus-factory
  go test -v $(go list ./...)
}

package() {
  cd "$srcdir"/build/src/github.com/linuxdeepin/go-dbus-factory
  install -dm755 "$pkgdir"/usr/share/gocode/src/github.com/linuxdeepin/go-dbus-factory
  cp -a com.* org.* net.* object_manager "$pkgdir"/usr/share/gocode/src/github.com/linuxdeepin/go-dbus-factory/
}
