# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>

pkgname=evolution-data-server
pkgver=3.40.4
pkgrel=1
pkgdesc="Centralized access to appointments and contacts"
url="https://wiki.gnome.org/Apps/Evolution"
arch=(x86_64)
depends=(gnome-online-accounts nss krb5 libgweather libical db libgdata libphonenumber)
makedepends=(intltool gperf gobject-introspection vala gtk-doc boost git cmake ninja)
provides=(libcamel-1.2.so libebackend-1.2.so libebook-1.2.so libebook-contacts-1.2.so
          libecal-2.0.so libedata-book-1.2.so libedata-cal-2.0.so libedataserver-1.2.so
          libedataserverui-1.2.so)
license=(GPL)
_commit=207d1ed96fd7286930753c0ebd85b449d18e521b  # tags/3.40.4^0
source=("git+https://gitlab.gnome.org/GNOME/evolution-data-server.git#commit=$_commit")
sha256sums=('SKIP')

pkgver() {
  cd $pkgname
  git describe --tags | sed 's/^EVOLUTION_DATA_SERVER_//;s/_/./g;s/-/+/g'
}

prepare() {
  cd $pkgname

  # PrintableOptions.cmake: Correct variable name comparison
  git cherry-pick -n c95a70bfeae25ba11fbe50fe759a6cdb29388e44
}

build() {
  cmake -S $pkgname -B build -G Ninja \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DLIBEXEC_INSTALL_DIR=/usr/lib \
    -DSYSCONF_INSTALL_DIR=/etc \
    -DENABLE_INTROSPECTION=ON \
    -DENABLE_VALA_BINDINGS=ON \
    -DENABLE_GTK_DOC=ON \
    -DWITH_PHONENUMBER=ON
  cmake --build build
}

check() {
  # libedata-book tests fail because they try to
  # mkdir /usr/lib/evolution-data-server/camel-providers
  cmake --build build --target test || :
}

package() {
  DESTDIR="$pkgdir" cmake --install build
}
