# Maintainer: Peter Budai <peterbudai at hotmail.com>

# This package cannot be build with installed libgdiplus package 
# as it doesnt contain reference for GdipFontFamilyCachedGenericSansSerif

_wx_basever=3.2

_realname=gnuplot
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=6.0.3
pkgrel=1
pkgdesc="Plotting package which outputs to PostScript, PNG, GIF, and others (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url='http://www.gnuplot.info/'
msys2_repository_url='https://sourceforge.net/p/gnuplot/gnuplot-main/ci/master/tree/'
msys2_documentation_url='http://www.gnuplot.info/documentation.html'
msys2_references=(
  'archlinux: gnuplot'
  "cpe: cpe:/a:gnuplot:gnuplot"
  "cpe: cpe:/a:gnuplot_project:gnuplot"
)
license=('spdx:gnuplot')
depends=("${MINGW_PACKAGE_PREFIX}-cairo"
         "${MINGW_PACKAGE_PREFIX}-cc-libs"
         "${MINGW_PACKAGE_PREFIX}-glib2"
         "${MINGW_PACKAGE_PREFIX}-gnutls"
         "${MINGW_PACKAGE_PREFIX}-lua"
         "${MINGW_PACKAGE_PREFIX}-libgd"
         "${MINGW_PACKAGE_PREFIX}-libcaca"
         "${MINGW_PACKAGE_PREFIX}-libcerf"
         "${MINGW_PACKAGE_PREFIX}-libwebp"
         "${MINGW_PACKAGE_PREFIX}-pango"
         "${MINGW_PACKAGE_PREFIX}-qt6-5compat"
         "${MINGW_PACKAGE_PREFIX}-qt6-base"
         "${MINGW_PACKAGE_PREFIX}-qt6-svg"
         #"${MINGW_PACKAGE_PREFIX}-readline"
         "${MINGW_PACKAGE_PREFIX}-wxwidgets${_wx_basever}-msw-libs")
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-cc"
  "${MINGW_PACKAGE_PREFIX}-autotools"
  "${MINGW_PACKAGE_PREFIX}-qt6-tools"
  "${MINGW_PACKAGE_PREFIX}-wxwidgets${_wx_basever}-msw"
)
source=("https://downloads.sourceforge.net/sourceforge/${_realname}/${_realname}-${pkgver}.tar.gz"
        "01-gnuplot.patch"
        "02-wxwidgets-3.2.patch"
        "03-fix-build-doc2web.patch")
sha256sums=('ec52e3af8c4083d4538152b3f13db47f6d29929a3f6ecec5365c834e77f251ab'
            '9b8af2d8eb24f0e8048a388949d8905a79b69208cf7eadd34a763a0c582b8f9e'
            '06f8076446c4174d5972a252ae18a7f672fd25f4131b3dd1d65399c1f3b52697'
            '427fa4d801d7c9117526790ee082af91c472c551d4cd4b45078efe856f6a92f9')

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

prepare() {
  cd "${srcdir}"/${_realname}-${pkgver}
  apply_patch_with_msg \
    01-gnuplot.patch \
    02-wxwidgets-3.2.patch \
    03-fix-build-doc2web.patch

  sed -i "s/AC_PATH_PROG(WX_CONFIG, wx-config,/AC_PATH_PROG(WX_CONFIG, wx-config-${_wx_basever},/" configure.ac

  autoreconf -fiv
}

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

  CFLAGS+=" -std=c17" \
  CXXFLAGS+=" -Wno-ignored-attributes" \
  ../${_realname}-${pkgver}/configure \
      --prefix=${MINGW_PREFIX} \
      --libexecdir=${MINGW_PREFIX}/bin \
      --with-caca \
      --with-lua \
      --without-latex \
      --with-qt \
      --with-readline=builtin \
      --with-bitmap-terminals \
      --disable-x11-mbfonts \
      --disable-x11-external \
      --disable-raise-console \
      "${_extra_config[@]}"

  make pkglibexecdir=${MINGW_PREFIX}/bin LRELEASE=${MINGW_PREFIX}/bin/lrelease-qt6 || \
  make pkglibexecdir=${MINGW_PREFIX}/bin LRELEASE=${MINGW_PREFIX}/bin/lrelease-qt6 -j1
}

package() {
  cd "${srcdir}"/build-${MSYSTEM}
  make install pkglibexecdir=${MINGW_PREFIX}/bin DESTDIR="${pkgdir}"
  
  install -Dm644 "${srcdir}"/${_realname}-${pkgver}/Copyright \
    "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
}
