# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>

pkgbase=colord
pkgname=(
  colord
  libcolord
  colord-sane
  colord-docs
)
pkgver=1.4.8
pkgrel=1
pkgdesc="System daemon for managing color devices"
url="https://www.freedesktop.org/software/colord/"
arch=(x86_64 aarch64)
license=(GPL-2.0-or-later)
depends=(
  dbus
  dconf
  gcc-libs
  glib2
  glibc
  lcms2
  libgudev
  libgusb
  polkit
  shared-mime-info
  sqlite
  systemd-libs
)
makedepends=(
  argyllcms
  bash-completion
  docbook-xsl
  git
  gobject-introspection
  gtk-doc
  meson
  sane
  systemd
  vala
)
options=(!emptydirs)
source=("git+https://github.com/hughsie/colord?signed#tag=$pkgver")
b2sums=('451c9571241278fb3347dd928370f3e350645c1cb2736beda37e7e5d3c1d374d49626298f0ab96d457de6ec3633fda1057d992aa833bf4f8042e29fcc4162a66')
validpgpkeys=(
  163EB50119225DB3DF8F49EA17ACBA8DFA970E17 # Richard Hughes <richard@hughsie.com>
)

prepare() {
  cd colord
}

build() {
  local meson_options=(
    -D daemon_user=colord
    -D libcolordcompat=true
    -D print_profiles=true
    -D sane=true
    -D vapi=true
  )

  arch-meson colord build "${meson_options[@]}"
  meson compile -C build
}

check() {
  meson test -C build --print-errorlogs
}

_pick() {
  local p="$1" f d; shift
  for f; do
    d="$srcdir/$p/${f#$pkgdir/}"
    mkdir -p "$(dirname "$d")"
    mv "$f" "$d"
    rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
  done
}

package_colord() {
  depends+=("libcolord=$pkgver-$pkgrel")
  optdepends=(
    'argyllcms: color profiling'
    'colord-sane: SANE support'
  )
  provides=(libcolorhug.so)
  replaces=(shared-color-profiles)

  meson install -C build --destdir "$pkgdir"

  cd "$pkgdir"

  _pick lib usr/include/colord-1/colord{,.h}
  _pick lib usr/lib/libcolord{,compat}.so*
  _pick lib usr/lib/girepository-1.0/Colord-1.0.typelib
  _pick lib usr/lib/pkgconfig/colord.pc
  _pick lib usr/share/gir-1.0/Colord-1.0.gir

  _pick sane usr/lib/colord-sane
  _pick sane usr/lib/colord-plugins/libcolord_sensor_sane.so

  _pick docs usr/share/gtk-doc
}

package_libcolord() {
  pkgdesc+=" (client library)"
  depends=(
    gcc-libs
    glib2
    glibc
    lcms2
    systemd-libs
  )
  provides=(libcolord.so)
  mv lib/* "$pkgdir"
}

package_colord-sane() {
  pkgdesc+=" (SANE support)"
  depends=(
    "colord=$pkgver-$pkgrel"
    "libcolord=$pkgver-$pkgrel"
    dbus
    gcc-libs
    glib2
    glibc
    libgudev
    sane
  )
  mv sane/* "$pkgdir"
}

package_colord-docs() {
  pkgdesc+=" (API documentation)"
  depends=()
  mv docs/* "$pkgdir"
}

# vim:set sw=2 sts=-1 et:
