_realname=libmediainfo
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=24.01
pkgrel=1
pkgdesc="Supplies technical and tag information about media files (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64')
url="https://mediaarea.net"
license=("spdx:BSD-2-Clause")
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-autotools"
  "${MINGW_PACKAGE_PREFIX}-cc"
)
depends=(
  "${MINGW_PACKAGE_PREFIX}-gcc-libs"
  "${MINGW_PACKAGE_PREFIX}-curl"
  "${MINGW_PACKAGE_PREFIX}-glib2"
  "${MINGW_PACKAGE_PREFIX}-libzen"
  "${MINGW_PACKAGE_PREFIX}-tinyxml2"
  "${MINGW_PACKAGE_PREFIX}-graphviz"
  "${MINGW_PACKAGE_PREFIX}-zlib"
)

source=("https://mediaarea.net/download/source/${_realname}/${pkgver}/${_realname}_${pkgver}.tar.bz2")
sha256sums=('da08ff9b6d6a66ad31d5a022bf96dc583bd5d245f71b6fd32c1a8a3ce9e0df94')

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

prepare() {
  cd "${srcdir}/MediaInfoLib/Project/GNU/Library"

  ./autogen.sh
}

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

  ../MediaInfoLib/Project/GNU/Library/configure \
    --prefix="${MINGW_PREFIX}" \
    --host="${MINGW_CHOST}" \
    --build="${MINGW_CHOST}" \
    --enable-shared \
    --disable-static \
    --with-libcurl \
    --with-libtinyxml2 \
    --with-graphviz

  # Fix for out-of-source build
  INCLUDES="-I../MediaInfoLib/Source \
   -I../MediaInfoLib/Source/ThirdParty/aes-gladman \
   -I../MediaInfoLib/Source/ThirdParty/md5 \
   -I../MediaInfoLib/Source/ThirdParty/sha1-gladman \
   -I../MediaInfoLib/Source/ThirdParty/sha2-gladman \
   -I../MediaInfoLib/Source/ThirdParty/hmac-gladman \
   -I../MediaInfoLib/Source/ThirdParty/base64" \
    make
}

package() {
  cd "${srcdir}/build-${MSYSTEM}"

  make DESTDIR="${pkgdir}" install

  install -vDm 644 "${srcdir}/MediaInfoLib/LICENSE" -t "${pkgdir}${MINGW_PREFIX}/share/licenses/$_realname/"
  install -vDm 644 "${srcdir}/MediaInfoLib/"{History_DLL.txt,README.md} -t "${pkgdir}${MINGW_PREFIX}/share/doc/$_realname/"
}