# 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.2
pkgrel=3
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}-gcc-libs"
         "${MINGW_PACKAGE_PREFIX}-glib2"
         "${MINGW_PACKAGE_PREFIX}-gnutls"
         "${MINGW_PACKAGE_PREFIX}-libgd"
         "${MINGW_PACKAGE_PREFIX}-libcaca"
         "${MINGW_PACKAGE_PREFIX}-libcerf"
         "${MINGW_PACKAGE_PREFIX}-wxwidgets${_wx_basever}-msw-libs"
         "${MINGW_PACKAGE_PREFIX}-libwebp"
         "${MINGW_PACKAGE_PREFIX}-pango"
         "${MINGW_PACKAGE_PREFIX}-readline")
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-cc"
  "${MINGW_PACKAGE_PREFIX}-autotools"
  "${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"
        # https://sourceforge.net/p/gnuplot/gnuplot-main/ci/fb8f5c2e0bdd7ffe3e7fdb5c169b965db84643cb
        "04-fix-build-with-gcc-15.patch")
sha256sums=('f68a3b0bbb7bbbb437649674106d94522c00bf2f285cce0c19c3180b1ee7e738'
            '9b8af2d8eb24f0e8048a388949d8905a79b69208cf7eadd34a763a0c582b8f9e'
            '06f8076446c4174d5972a252ae18a7f672fd25f4131b3dd1d65399c1f3b52697'
            '427fa4d801d7c9117526790ee082af91c472c551d4cd4b45078efe856f6a92f9'
            'fcf88de89b6af4ec3635f7c2535a98052f56ad825afc0f81104aebc7dc11f314')

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 \
    04-fix-build-with-gcc-15.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}

  ../${_realname}-${pkgver}/configure \
      --prefix=${MINGW_PREFIX} \
      --libexecdir=${MINGW_PREFIX}/bin \
      --build=${MINGW_CHOST} \
      --with-caca \
      --without-lua \
      --without-latex \
      --with-qt=no \
      --with-readline=gnu \
      --with-bitmap-terminals \
      --disable-x11-mbfonts \
      --disable-x11-external \
      --disable-raise-console \
      "${_extra_config[@]}"

  make pkglibexecdir=${MINGW_PREFIX}/bin || make -j1 pkglibexecdir=${MINGW_PREFIX}/bin 
}

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
}
