# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Arch Haskell Team <arch-haskell@haskell.org>

_hkgname=language-python
pkgname=haskell-language-python
pkgver=0.5.8
pkgrel=256
pkgdesc="Parsing and pretty printing of Python code."
url="https://hackage.haskell.org/package/${_hkgname}"
license=("BSD")
arch=('x86_64' 'aarch64')
depends=('ghc-libs' 'haskell-monads-tf' 'haskell-utf8-string')
makedepends=('happy' 'alex' 'ghc' 'uusi')
source=("https://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz"
        "$pkgname-happy-2.patch::https://github.com/bjpop/language-python/pull/78.patch")
sha512sums=('fa2d9c1a20460e38dcc370be60157090e7279386a4ebc0f4c4bac56fb3a8f65541c41fa789d2df31e385eeea3c05e2f84c44f77917379194eb4e29372ab4c20d'
            '3c486ebd9e56fe95b65ad220022797400551736eaa75d4ee77d9f4bb0bc0919c2e5f9235cd4c38fd486814e3b64974908309494c4b1e9957e60af68fc30bce97')

prepare() {
    cd $_hkgname-$pkgver
    patch -Np2 -i ../$pkgname-happy-2.patch
    uusi -u monads-tf -u transformers
}

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 \
            -fsplit-base
    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
}
