# Maintainer: Antoine Lambert <antoine.lambert@inria.fr>

_realname=tulip
pkgbase="mingw-w64-${_realname}"
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=5.7.3
pkgrel=1
pkgdesc="Large graphs analysis, drawing and visualization framework (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64')
url="https://tulip.labri.fr/"
license=('spdx:LGPL-3.0-or-later')
source=("https://sourceforge.net/projects/auber/files/tulip/${_realname}-${pkgver}/${_realname}-${pkgver}_src.tar.gz"
        "001-fix-tulip-python-install.patch"
        "002-fix-template-instatiation.patch"
        "003-fix-clang-omp-link.patch"
        "004-fix-tulip-core-headers.patch"
        "005-fix-cmakelists.patch")
sha256sums=('6aba42f85b0360631fe3ba61b52cf28e3bc383f518652f9a90e7b90987da8dd5'
            '90418ac3795d100f6c550011800e129165cecf9a07ca9a619633a5b4322f5df6'
            '8572c14d233a9026fcc984ab9d94e1c8230eadee63ff2eaeed6ad01e5063610b'
            '20bc5ed1744505ab89a4aec597e5286451d37c49241b8a784e0a51957f43dc7b'
            'ace5318108e15b61202440e112ed2ac81d49dd44fa5d6cc3766f09da8299b6b5'
            '32193596196c0eda8a2989bd4467a22c7daf3eaaba3d51d88f0de11b50ba543d')
depends=("${MINGW_PACKAGE_PREFIX}-freetype"
         "${MINGW_PACKAGE_PREFIX}-glew"
         "${MINGW_PACKAGE_PREFIX}-libpng"
         "${MINGW_PACKAGE_PREFIX}-libjpeg"
         "${MINGW_PACKAGE_PREFIX}-libzip"
         "${MINGW_PACKAGE_PREFIX}-python"
         "${MINGW_PACKAGE_PREFIX}-qhull"
         "${MINGW_PACKAGE_PREFIX}-qt5-base"
         "${MINGW_PACKAGE_PREFIX}-qt5-xmlpatterns"
         "${MINGW_PACKAGE_PREFIX}-qtwebkit"
         #"${MINGW_PACKAGE_PREFIX}-quazip" # using bundled one
         "${MINGW_PACKAGE_PREFIX}-yajl"
         "${MINGW_PACKAGE_PREFIX}-omp")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
             "${MINGW_PACKAGE_PREFIX}-cmake"
             "${MINGW_PACKAGE_PREFIX}-ninja"
             "${MINGW_PACKAGE_PREFIX}-doxygen"
             "${MINGW_PACKAGE_PREFIX}-sip"
             "${MINGW_PACKAGE_PREFIX}-python-sphinx"
             "${MINGW_PACKAGE_PREFIX}-qt5-tools")

prepare() {
  cd "${srcdir}/${_realname}-${pkgver}"
  patch -p1 -i ${srcdir}/001-fix-tulip-python-install.patch
  patch -p1 -i ${srcdir}/002-fix-template-instatiation.patch
  patch -p1 -i ${srcdir}/003-fix-clang-omp-link.patch
  patch -p1 -i ${srcdir}/004-fix-tulip-core-headers.patch
  patch -p1 -i ${srcdir}/005-fix-cmakelists.patch
}

build() {
  mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"

  declare -a _extra_config
  if check_option "debug" "n"; then
    _extra_config+=("-DCMAKE_BUILD_TYPE=Release")
  else
    _extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
  fi

  MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
  ${MINGW_PREFIX}/bin/cmake \
    -GNinja \
    -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
    "${_extra_config[@]}" \
    -DCMAKE_NEED_RESPONSE=ON \
    -DCMAKE_SYSTEM_IGNORE_PATH=/usr/lib \
    -DTULIP_FIXUP_BUNDLE=OFF \
    -DPython_EXECUTABLE=${MINGW_PREFIX}/bin/python3.exe \
    -DTULIP_PYTHON_SITE_INSTALL=ON \
    ../${_realname}-${pkgver}

  ${MINGW_PREFIX}/bin/cmake --build .
}

package() {
  cd "${srcdir}/build-${MSYSTEM}"
  DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install .
}
