# Maintainer: David Runge <dave@sleepmap.de>

_name=Tidal
pkgname=tidalcycles
pkgver=1.4.2
pkgrel=6
pkgdesc="A domain specific language for live coding pattern."
arch=('x86_64')
url="https://tidalcycles.org/"
license=('GPL3')
groups=('pro-audio')
depends=('ghc-libs' 'haskell-bifunctors' 'haskell-clock' 'haskell-colour'
'haskell-hosc' 'haskell-mwc-random' 'haskell-network' 'haskell-primitive'
'haskell-vector' 'supercollider')
makedepends=('ghc')
checkdepends=('haskell-microspec')
optdepends=('sc3-plugins: Examples using special UGens')
source=("$pkgname-$pkgver.tar.gz::https://github.com/tidalcycles/Tidal/archive/${pkgver}.tar.gz")
sha512sums=('1e5d803b50764c4d17ba89473848ab67556e79d064e487ae16e7e78bcf9c3bf042356c2a7cb847a8d3c6dfef47dc829deb5ca7e73c87e679cdd73aff4b873a1d')

prepare() {
  mv -v "${_name}-$pkgver" "$pkgname-$pkgver"
  cd "$pkgname-$pkgver"
}

build() {
  cd "$pkgname-$pkgver"
  runhaskell Setup configure -O \
                             --enable-shared \
                             --enable-executable-dynamic \
                             --disable-library-vanilla \
                             --prefix=/usr \
                             --docdir="/usr/share/doc/${pkgname}" \
                             --enable-tests \
                             --dynlibdir=/usr/lib \
                             --libsubdir=\$compiler/site-local/\$pkgid
  runhaskell Setup build
  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
}

check() {
  cd "$pkgname-$pkgver"
  runhaskell Setup test
}

package() {
  cd "$pkgname-$pkgver"
  runhaskell Setup copy --destdir="${pkgdir}"
  install -vDm 744 register.sh "$pkgdir/usr/share/haskell/register/$pkgname.sh"
  install -vDm 744 unregister.sh "$pkgdir/usr/share/haskell/unregister/$pkgname.sh"
}
