# Contributor: Raed Rizqie <raed.rizqie@gmail.com>

_realname=supercollider
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=3.14.0
pkgrel=1
pkgdesc="Platform for audio synthesis and algorithmic composition (mingw-w64)"
arch=(any)
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url='https://supercollider.github.io'
msys2_repository_url='https://github.com/supercollider/supercollider'
license=('spdx:GPL-3.0-or-later')
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs"
         "${MINGW_PACKAGE_PREFIX}-fftw"
         "${MINGW_PACKAGE_PREFIX}-libsndfile"
         "${MINGW_PACKAGE_PREFIX}-libwinpthread"
         "${MINGW_PACKAGE_PREFIX}-qt5-base"
         "${MINGW_PACKAGE_PREFIX}-qt5-svg"
         "${MINGW_PACKAGE_PREFIX}-qt5-webchannel"
         "${MINGW_PACKAGE_PREFIX}-qt5-websockets"
         "${MINGW_PACKAGE_PREFIX}-readline")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
             "${MINGW_PACKAGE_PREFIX}-cmake"
             "${MINGW_PACKAGE_PREFIX}-ninja"
             "${MINGW_PACKAGE_PREFIX}-pkgconf"
             "${MINGW_PACKAGE_PREFIX}-qt5-tools"
             "${MINGW_PACKAGE_PREFIX}-winpthreads")
source=(https://github.com/supercollider/supercollider/releases/download/Version-${pkgver}/SuperCollider-${pkgver}-Source.tar.bz2
        001-cmake-mingw-fix.patch
        002-reduce-warnings.patch
        003-mingw-filesystem.patch)
sha256sums=('ab710e84376f5c082c92fcea7465b85d375934f3da7deed583457a0a48b0a918'
            '0a3f449a38c631dd927dbb357ac05ec0a404e802fd2c4d044b8935fbfc1717eb'
            'a9b5189376408130641e9f44ec83ea23cb55eecaa37f096c53d06cf2d957e70a'
            '03c8e88c2fab5ae29792fa589498d357094395126c521a250671b652d5982cf6')

apply_patch_with_msg() {
  for _patch in "$@"
  do
    msg2 "Applying ${_patch}"
    patch -p1 -i "${srcdir}/${_patch}"
  done
}

prepare() {
  cd SuperCollider-${pkgver}-Source

  apply_patch_with_msg \
    001-cmake-mingw-fix.patch \
    002-reduce-warnings.patch \
    003-mingw-filesystem.patch
}

build() {
  MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
  cmake -Wno-dev \
    -GNinja \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
    -DSC_USE_QTWEBENGINE=OFF \
    -DLIBSCSYNTH=ON \
    -DSUPERNOVA=ON \
    -DINSTALL_HELP=OFF \
    -S SuperCollider-${pkgver}-Source \
    -B build-${MSYSTEM}

  cmake --build build-${MSYSTEM}
}

package() {
  DESTDIR="$pkgdir" cmake --install build-${MSYSTEM}

  install -Dm644 SuperCollider-${pkgver}-Source/COPYING "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
}
