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

pkgname=startdde
pkgver=5.8.22
pkgrel=1
pkgdesc="starter of deepin desktop environment"
arch=('x86_64')
url="https://github.com/linuxdeepin/startdde"
license=('GPL3')
depends=('deepin-daemon' 'deepin-dock' 'deepin-polkit-agent' 'deepin-file-manager'
         'deepin-session-shell' 'deepin-session-ui' 'libgnome-keyring')
makedepends=('cmake' 'coffeescript' 'golang-github-linuxdeepin-go-dbus-factory' 'golang-deepin-gir'
             'golang-deepin-lib' 'golang-deepin-dde-api' 'go' 'git' 'jq'
             'golang-golang-x-net' 'golang-github-linuxdeepin-go-x11-client')
optdepends=('deepin-wm: Legacy 3D window manager'
            'deepin-metacity: Legacy 2D window manager'
            'deepin-kwin: Preferred window manager')
replaces=('deepin-wm-switcher')
groups=('deepin')
source=("https://github.com/linuxdeepin/startdde/archive/$pkgver/$pkgname-$pkgver.tar.gz"
        schema.patch)
sha512sums=('cc8998d91adf2b9b4fc58a32c4e567a6f361de6d97fe19551f970a0b2b1334a39df272011f19b5fe2c8fa5f0a703151a241fe91c6f3f48ea740870d6a06a1fe0'
            '8f0a34a273de5ad784684a8bea349363d768a64ce574621b07537af3055baa60c6d645f75e20575ed8978a03e31992b9dc6f66939b29c8d4331964ac9a1f72eb')

export GO111MODULE=off

prepare() {
  patch -d startdde-$pkgver -p2 < schema.patch

  export GOPATH="$srcdir/build:/usr/share/gocode"
  go get github.com/cryptix/wav golang.org/x/xerrors github.com/godbus/dbus github.com/fsnotify/fsnotify gopkg.in/yaml.v3

  sed -i 's/sbin/bin/' startdde-$pkgver/Makefile
}

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 startdde-$pkgver
  make
}

package() {
  cd startdde-$pkgver
  make DESTDIR="$pkgdir" install

  # Fix env file permission
  chmod +x "$pkgdir"/etc/X11/Xsession.d/*

  # Don't rely on deepin-session's location
  install -dm755 "$pkgdir"/etc/X11/xinit/xinitrc.d
  mv "$pkgdir"/etc/X11/Xsession.d/* "$pkgdir"/etc/X11/xinit/xinitrc.d/
  rmdir "$pkgdir"/etc/X11/Xsession.d
}
