summaryrefslogtreecommitdiff
path: root/community/haskell-gtk/PKGBUILD
blob: 3e8988bd44cb3bac7b541aee64e70ae8f1b10213 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# $Id: PKGBUILD 115979 2014-07-19 16:05:06Z td123 $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>

pkgname=haskell-gtk
pkgver=0.12.5.7
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')
makedepends=("gtk2hs-buildtools")
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=('13020ad1f3f80a0d5b17c4e519172362')

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
  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}
}