# $Id$
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Ronald van Haren <ronald.archlinux.org>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - removed makedepend on vc - not for ARM
#  - patch to fix qreal ARMisms

pkgbase=calligra
pkgname=('calligra-braindump'
         'calligra-devtools'
         'calligra-extras'
         'calligra-filters'
         'calligra-flow'
         'calligra-handbook'
         'calligra-karbon'
         'calligra-kexi'
         'calligra-krita'
         'calligra-libs'
         'calligra-plan'
         'calligra-plugins'
         'calligra-sheets'
         'calligra-stage'
         'calligra-words')
pkgver=2.8.5
pkgrel=1
arch=('i686' 'x86_64')
url='http://www.calligra-suite.org/'
license=('FDL1.2' 'GPL2' 'LGPL')
makedepends=('cmake' 'automoc4' 'boost' 'kdepimlibs' 'eigen2' 'kdeedu-marble'
             'lcms2' 'libmariadbclient' 'freetds' 'xbase' 'libwpg' 'opencolorio'
             'libwps' 'gsl' 'glew' 'fftw' 'poppler-qt' 'libkdcraw' 'libodfgen'
             'openjpeg' 'kdegraphics-okular' 'pstoedit' 'libvisio'
             'libetonyek' 'libpqxx' 'libspnav')
groups=('calligra')
source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/${pkgbase}-${pkgver}.tar.xz"
        'arm.patch'
        0001-switch-to-librevenge-based-import-libs.patch)
md5sums=('8538e740b69dbf6b574312200cac969a'
         'dc5105bcc612560f46d27071aca69cba'
         '2589200d3f2199a8bff5755ff3245e33')

prepare() {
  mkdir build

  # use librevenge based import filter libraries - patch taken from Fedora
  pushd $pkgbase-$pkgver
  patch -Np1 -i $srcdir/0001-switch-to-librevenge-based-import-libs.patch
  popd
}

build() {
  cd build
  cmake ../${pkgbase}-${pkgver} \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_INSTALL_LIBDIR=lib \
    -DBUILD_active=OFF \
    -DWITH_Soprano=OFF
  make
}

package_calligra-filters() {
  pkgdesc="Filters for the Calligra office suite"
  depends=('libodfgen')
  optdepends=('libwpg: Corel WordPerfect Graphics image importer'
              'libwps: Microsoft Works file word processor format import'
              'libvisio: Microsoft Visio import filter'
              'libetonyek: Apple Keynote import filter')
  conflicts=('koffice-filters')
  replaces=('koffice-filters')
  install=calligra-filters.install

  cd build/filters
  make DESTDIR="${pkgdir}" install
}

package_calligra-libs() {
  pkgdesc="Libraries for the Calligra office suite"
  depends=('kdepimlibs' 'kactivities' 'libkactivities4')
  conflicts=('koffice-interfaces' 'koffice-libs' 'koffice-pics'
             'koffice-servicetypes' 'calligra-interfaces'
             'calligra-pics' 'calligra-servicetypes')
  replaces=('koffice-interfaces' 'koffice-libs' 'koffice-pics'
             'koffice-servicetypes' 'calligra-interfaces'
             'calligra-pics' 'calligra-servicetypes')

  for d in interfaces libs pics servicetypes; do
    cd "${srcdir}"/build/${d}
    make DESTDIR="${pkgdir}" install
  done
}

package_calligra-plugins() {
  pkgdesc="Plugins for the Calligra office suite"
  depends=('calligra-libs' 'calligra-filters' 'libspnav')
  optdepends=('kdeedu-marble: map shape for Calligra')
  conflicts=('koffice-plugins' 'koffice-kchart')
  replaces=('koffice-plugins' 'koffice-kchart' 'koffice-kformula')
  install=calligra-plugins.install

  cd build/plugins
  make DESTDIR="${pkgdir}" install

  cd ../3rdparty/kdchart
  make DESTDIR="${pkgdir}" install
}

package_calligra-karbon() {
  pkgdesc="Create scalable vector drawings"
  depends=('calligra-libs' 'kdebase-runtime' 'pstoedit')
  optdepends=('calligra-filters: import/export filters'
              'calligra-extras: extra calligra tools')
  conflicts=('koffice-karbon' 'koffice-karbon-doc' 'calligra-karbon-doc')
  replaces=('koffice-karbon' 'koffice-karbon-doc' 'calligra-karbon-doc')
  install=calligra-karbon.install

  cd build/karbon
  make DESTDIR="${pkgdir}" install
}

package_calligra-kexi() {
  pkgdesc="Develop desktop database applications"
  depends=('calligra-libs' 'glew' 'fftw')
  optdepends=('libmariadbclient: MariaDB driver'
              'libpqxx: PostgreSQL driver'
              'freetds: Sybase & MS SQL driver'
              'xbase: XBase driver'
              'calligra-sheets: Spreadsheet-to-Kexi-table import plugin'
              'kdeedu-marble: map form widget'
              'calligra-plugins: extra calligra plugins')
  conflicts=('koffice-kexi' 'koffice-kexi-doc' 'calligra-kexi-doc')
  replaces=('koffice-kexi' 'koffice-kexi-doc' 'calligra-kexi-doc')
  install=calligra-kexi.install

  cd build/kexi
  make DESTDIR="${pkgdir}" install
  cd ../doc/kexi
  make DESTDIR="${pkgdir}" install
}

package_calligra-plan() {
  pkgdesc="Calligra Project Management Component"
  depends=('calligra-words')
  conflicts=('koffice-kplato' 'calligra-kplato')
  replaces=('koffice-kplato' 'calligra-kplato')
  install=calligra-plan.install

  cd build/plan
  make DESTDIR="${pkgdir}" install

  cd ../3rdparty/kdgantt
  make DESTDIR="${pkgdir}" install
}

package_calligra-stage() {
  pkgdesc="Write presentation documents"
  depends=('calligra-plugins' 'kdebase-runtime')
  conflicts=('koffice-kpresenter' 'koffice-kpresenter-doc' 'calligra-stage-doc')
  replaces=('koffice-kpresenter' 'koffice-kpresenter-doc' 'calligra-stage-doc')
  install=calligra-stage.install

  cd build/stage
  make DESTDIR="${pkgdir}" install
  cd ../doc/stage
  make DESTDIR="${pkgdir}" install
}

package_calligra-krita() {
  pkgdesc="Edit and paint images"
  depends=('calligra-plugins' 'kdebase-runtime' 'opencolorio' 'libkdcraw'
           'fftw' 'glew')
  conflicts=('koffice-krita' 'calligra-krita-doc')
  replaces=('koffice-krita' 'calligra-krita-doc')
  install=calligra-krita.install

  cd build/krita
  make DESTDIR="${pkgdir}" install
}

package_calligra-sheets() {
  pkgdesc="Write spreadsheet documents"
  depends=('calligra-libs' 'gsl' 'kdebase-runtime')
  optdepends=('calligra-filters: import/export filters'
              'calligra-plugins: extra calligra plugins'
              'calligra-extras: extra calligra tools')
  conflicts=('koffice-kspread' 'koffice-kspread-doc' 'calligra-tables-doc' 'calligra-tables')
  replaces=('koffice-kspread' 'koffice-kspread-doc' 'calligra-tables-doc' 'calligra-tables')
  install=calligra-sheets.install

  cd build/sheets
  make DESTDIR="${pkgdir}" install
  cd ../doc/sheets
  make DESTDIR="${pkgdir}" install
}

package_calligra-words() {
  pkgdesc="Word Processor"
  depends=('calligra-plugins' 'kdegraphics-okular')
  optdepends=('calligra-extras: extra calligra tools')
  conflicts=('koffice-kword')
  replaces=('koffice-kword')
  install=calligra-words.install

  cd build/words
  make DESTDIR="${pkgdir}" install
}

package_calligra-handbook() {
  pkgdesc="Documentation for Calligra"
  conflicts=('koffice-handbook')
  replaces=('koffice-handbook')
  options=('docs')

  cd build/doc/calligra
  make DESTDIR="${pkgdir}" install
}

package_calligra-braindump() {
  pkgdesc="Notes and idea gathering"
  depends=('calligra-libs' 'kdebase-runtime')
  install=calligra-braindump.install

  cd build/braindump
  make DESTDIR="${pkgdir}" install
}

package_calligra-flow() {
  pkgdesc="Flowchart & Diagram Editing"
  depends=('calligra-words')
  optdepends=('calligra-karbon: to export the charts in various formats')
  conflicts=('calligra-flow-doc')
  replaces=('calligra-flow-doc')
  install=calligra-flow.install

  cd build/flow
  make DESTDIR="${pkgdir}" install
}

package_calligra-extras() {
  pkgdesc="Calligra suite extras"
  depends=('calligra-libs')
  optdepends=('kdegraphics-okular')
  conflicts=('calligra-tools' 'koffice-templates' 'calligra-templats')
  replaces=('calligra-tools' 'koffice-templates' 'calligra-templats')
  install=calligra-extras.install

  cd build/extras
  make DESTDIR="${pkgdir}" install

  cd ../data
  make DESTDIR="${pkgdir}" install
}

package_calligra-devtools() {
  pkgdesc="Calligra developer tools"
  depends=('calligra-libs')

  cd build/devtools
  make DESTDIR="${pkgdir}" install
}