# Maintainer: Felix Yan <felixonmars@archlinux.org>

_hkgname=hspec-meta
pkgname=haskell-hspec-meta
pkgver=2.11.4
pkgrel=8
pkgdesc="A version of Hspec which is used to test Hspec itself"
url="http://hspec.github.io/"
license=('MIT')
arch=('x86_64' 'aarch64')
depends=('ghc-libs' 'haskell-ansi-terminal' 'haskell-call-stack' 'haskell-lexer'
         'haskell-hspec-expectations' 'haskell-hunit' 'haskell-quickcheck' 'haskell-quickcheck-io'
         'haskell-random' 'haskell-tf-random')
makedepends=('ghc' 'uusi')
source=(https://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz
        quickcheck-2.15.patch)
sha512sums=('3d472bd9216f1bf8d558c7ac507917fda523fe23f36a0447de37442281f92159073a90152b42bc15637c6c71cb15e1ad509ccc22ad8745d662f48f95eae115e2'
            '4a249be70c3057545fb733e3e552508b4795685d3c1251732b1d5299135bea8b624863df13116d7b9faf257054e00df19e7105a00f438ff37fa783c84a8d619d')

prepare() {
    cd $_hkgname-$pkgver
    sed -i '1i {-# LANGUAGE CPP #-}' hspec-core/src/Test/Hspec/Core/QuickCheckUtil.hs
    patch -p1 -i ../quickcheck-2.15.patch
    gen-setup
}

build() {
    cd $_hkgname-$pkgver
    
    runhaskell Setup configure -O --enable-shared --enable-debug-info --enable-executable-dynamic --disable-library-vanilla \
        --prefix=/usr --docdir=/usr/share/doc/$pkgname --datasubdir=$pkgname \
        --dynlibdir=/usr/lib --libsubdir=\$compiler/site-local/\$pkgid
    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 $_hkgname-$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"
    install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
    rm -f "$pkgdir"/usr/share/doc/$pkgname/LICENSE
}
