# $Id: PKGBUILD 130822 2015-04-06 11:37:25Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>

pkgname=haskell-gtk
pkgver=0.13.6
pkgrel=2
pkgdesc="Binding to the gtk library for Gtk2Hs."
url="http://hackage.haskell.org/package/gtk"
license=('LGPL2.1')
arch=('i686' 'x86_64')
depends=('ghc' 'gtk2' "haskell-pango" 'haskell-mtl' 'haskell-text')
makedepends=('gtk2hs-buildtools' 'haddock')
provides=('gtk2hs-gtk')
replaces=('gtk2hs-gtk')
conflicts=('gtk2hs-gtk')
options=('strip' 'staticlibs')
install=gtk2hs-gtk.install
source=(http://hackage.haskell.org/packages/archive/gtk/$pkgver/gtk-$pkgver.tar.gz)
md5sums=('766981a984bd33ec3ac058cde4054ddf')

build() {
  cd ${srcdir}/gtk-${pkgver}
  runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
    --prefix=/usr --docdir=/usr/share/doc/haskell-gtk \
    --libsubdir=\$compiler/site-local/\$pkgid
  runhaskell Setup build
  runhaskell Setup haddock --hoogle --html
  runhaskell Setup register   --gen-script
  runhaskell Setup unregister --gen-script
  sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
}

_update_deps() {
    _ver=$(pacman -Q $1 | cut -f2 -d\  | cut -f1 -d-)
    for i in $(seq 0 $(expr ${#depends[@]} - 1)); do
        if [ ${depends[$i]} == $1 ]; then
            depends[$i]="$1=${_ver}"
        fi
    done
}

package() {
  _update_deps ghc
  _update_deps haskell-mtl
  _update_deps haskell-pango

  cd ${srcdir}/gtk-${pkgver}
  install -D -m744 register.sh   ${pkgdir}/usr/share/haskell/gtk2hs-gtk/register.sh
  install -m744 unregister.sh ${pkgdir}/usr/share/haskell/gtk2hs-gtk/unregister.sh
  install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
  ln -s /usr/share/doc/haskell-gtk/html ${pkgdir}/usr/share/doc/ghc/html/libraries/gtk2hs-gtk
  runhaskell Setup copy --destdir=${pkgdir}
}
