# Contributor Ricky Wu <rickleaf.wu@hotmail.com>
# Contributor Unai Martinez-Corral <unai.martinezcorral@ehu.eus>

# NOTE: This package installs the GTK2 build by default, but provides GTK3 versions of three binaries too:
# - gtkwave-gtk3.exe
# - rtlbrowse-gtk3.exe
# - twinwave-gtk3.exe
# However, mingw-w64-*-gtk3 is not a dependency. Users willing to use the GTK3 binaries need to install it explicitly.

_realname=gtkwave
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=3.3.117
pkgrel=1
pkgdesc='A wave viewer which reads LXT, LXT2, VZT, GHW and VCD/EVCD files (mingw-w64)'
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
url='https://gtkwave.sourceforge.net/'
license=('spdx:GPL-2.0-or-later')
groups=("${MINGW_PACKAGE_PREFIX}-eda")
depends=(
  "${MINGW_PACKAGE_PREFIX}-adwaita-icon-theme"
  "${MINGW_PACKAGE_PREFIX}-gtk2"
  "${MINGW_PACKAGE_PREFIX}-gtk-update-icon-cache"
  "${MINGW_PACKAGE_PREFIX}-tcl"
  "${MINGW_PACKAGE_PREFIX}-tcllib"
  "${MINGW_PACKAGE_PREFIX}-tk"
  "${MINGW_PACKAGE_PREFIX}-tklib"
)
makedepends=(
  'perlxml'
  'intltool'
  "${MINGW_PACKAGE_PREFIX}-gtk3"
  "${MINGW_PACKAGE_PREFIX}-autotools"
  "${MINGW_PACKAGE_PREFIX}-cc"
  "${MINGW_PACKAGE_PREFIX}-gperf"
)
source=("https://gtkwave.sourceforge.net/${_realname}-gtk3-${pkgver}.tar.gz")
# Last Updated on Date updated: 12-May-2023
# Last Change included: SVN r1642 2023-04-17 19:00:21
# Click: https://sourceforge.net/p/gtkwave/code/HEAD/tree/  "HISTORY Button"
sha256sums=('3cf1537586a911cbb0601af8fa18cf6da708c8a14a71f69ce3cb9118e8571db9')

prepare() {
  cd "${srcdir}/${_realname}-gtk3-${pkgver}"
  ./autogen.sh
}

_build() {
  mkdir "build-${MSYSTEM}-$1" && cd "build-${MSYSTEM}-$1"

  [ "$1" = 'gtk3' ] && _enableGTK3='--enable-gtk3' || _enableGTK3=''

  ../"${_realname}-gtk3-${pkgver}"/configure \
    --prefix="${MINGW_PREFIX}" \
    --host="${MINGW_CHOST}" \
    --target="${MINGW_CHOST}" \
    --build="${MINGW_CHOST}" \
    --with-tcl="${MINGW_PREFIX}"/lib \
    --with-tk="${MINGW_PREFIX}"/lib \
    --disable-mime-update $_enableGTK3
  make
  cd ..
}

build() {
  _build gtk2
  _build gtk3
}

package() {
  cd "${srcdir}/build-${MSYSTEM}"-gtk3
  make DESTDIR="${pkgdir}" install

  _bin="${pkgdir}/${MINGW_PREFIX}"/bin
  for item in gtkwave rtlbrowse twinwave; do
    mv "${_bin}/${item}".exe "${_bin}/${item}"-gtk3.exe
  done

  cd "${srcdir}/build-${MSYSTEM}"-gtk2
  make DESTDIR="${pkgdir}" install
  install -Dm644 "${srcdir}/${_realname}-gtk3-${pkgver}/LICENSE.TXT" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE.TXT"
}
