# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>

pkgname=haskell-gtk2hs-buildtools
pkgver=0.13.8.0
pkgrel=120
pkgdesc="Tools to build the Gtk2Hs suite of User Interface libraries."
url="https://hackage.haskell.org/package/gtk2hs-buildtools"
license=('GPL2')
arch=('x86_64')
depends=('ghc-libs' 'haskell-random' 'haskell-hashtables')
makedepends=('alex' 'happy' 'ghc')
provides=('gtk2hs-buildtools')
conflicts=('gtk2hs-buildtools')
replaces=('gtk2hs-buildtools')
source=("https://hackage.haskell.org/packages/archive/gtk2hs-buildtools/${pkgver}/gtk2hs-buildtools-${pkgver}.tar.gz"
        gcc-11.patch)
sha512sums=('fa427979f20f10ca8baf38c80c28a5190d18b767046de347950ea799660e1d54939d668c01c469da36d2df6c347f7ba67e2e85f3a7000021f8d37852093e03fd'
            'd7e2c4b9bb8ef71f4f2deda6e81aa1b7a0e5bc5f534334513fcd95be6386448b8c1516224be421f450f16e1efbc10aaeba30f485cb5f3a1c31ac2e3aa435733b')

prepare() {
    cd gtk2hs-buildtools-$pkgver
    patch -p2 -i ../gcc-11.patch
}

build() {
    cd gtk2hs-buildtools-$pkgver

    runhaskell Setup configure -O --enable-shared --enable-executable-dynamic --disable-library-vanilla \
        --prefix=/usr --docdir=/usr/share/doc/$pkgname --datasubdir="$pkgname" \
        --dynlibdir=/usr/lib --libsubdir=\$compiler/site-local/\$pkgid # --ghc-option=-fllvm
    runhaskell Setup build $MAKEFLAGS
    runhaskell Setup register --gen-script
    runhaskell Setup unregister --gen-script
    sed -i -r -e "s|ghc-pkg.*update[^ ]* |&'--force' |" register.sh
    sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
}

package() {
    cd gtk2hs-buildtools-$pkgver

    install -D -m744 register.sh "$pkgdir"/usr/share/haskell/register/$pkgname.sh
    install -D -m744 unregister.sh "$pkgdir"/usr/share/haskell/unregister/$pkgname.sh
    runhaskell Setup copy --destdir="$pkgdir"
}
