# Contributor: Fabien Chouteau <chouteau@adacore.com>

_realname=gnatcoll-iconv
pkgbase=mingw-w64-${_realname}
pkgname=${MINGW_PACKAGE_PREFIX}-${_realname}
pkgver=25.0.0
pkgrel=1
pkgdesc="GNAT Components Collection - Interface to libiconv (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64')
url="https://github.com/AdaCore/gnatcoll-bindings"
msys2_references=(
  'aur: gnatcoll-iconv'
  'gentoo: dev-ada/gnatcoll-bindings'
)
license=('spdx:GPL-3.0-or-later WITH GCC-exception-3.1')
makedepends=("${MINGW_PACKAGE_PREFIX}-gprbuild"
             "${MINGW_PACKAGE_PREFIX}-python3")
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
         "${MINGW_PACKAGE_PREFIX}-gcc-ada"
         "${MINGW_PACKAGE_PREFIX}-gnatcoll-core"
         "${MINGW_PACKAGE_PREFIX}-libiconv")
source=("https://github.com/AdaCore/gnatcoll-bindings/archive/v${pkgver}/gnatcoll-bindings.tar.gz"
        'iconv.gpr')
sha256sums=('80ddd7f20adf45f0e155cd43e0a5ba752020616af0b0700447563776acd688a3'
            'c0951f33fcc65ee9a333621135941e5ffee7884445e943538ec744762d628f26')

prepare() {
  echo "${pkgver}" > "${srcdir}/gnatcoll-bindings-${pkgver}/version_information"
}

build() {
  cd "${srcdir}/gnatcoll-bindings-${pkgver}/iconv"
  ${MINGW_PREFIX}/bin/python setup.py build --jobs="$(nproc)" --reconfigure
}

package() {
  cd "${srcdir}/gnatcoll-bindings-${pkgver}/iconv"
  ${MINGW_PREFIX}/bin/python setup.py install --prefix="${pkgdir}${MINGW_PREFIX}"

  # In GNAT Community gnatcoll_iconv is built with libiconv embedded in
  # libgnatcoll_iconv.dll. This is not what we want here, so we install
  # an iconv.gpr with Externally_Built attribute.

  # Copy external gpr file
  cp -pf "${srcdir}/iconv.gpr" "${pkgdir}${MINGW_PREFIX}/share/gpr/"

  # Add with for external gpr files
  sed -i 's/with "gnatcoll";/with "gnatcoll"; with "iconv";/' "${pkgdir}${MINGW_PREFIX}/share/gpr/gnatcoll_iconv.gpr"

  install -Dm644 -t "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}" \
    "${srcdir}/gnatcoll-bindings-${pkgver}"/COPYING*
}
