
_realname=gpr
pkgbase=mingw-w64-${_realname}
pkgname=${MINGW_PACKAGE_PREFIX}-${_realname}
pkgver=24.0.0
pkgrel=1
pkgdesc="The framework for analyzing the GNAT Project (GPR) files (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64')
url="https://github.com/AdaCore/gpr"
msys2_references=(
  'aur: gpr'
  'gentoo: dev-ada/gpr'
)
license=('spdx:(Apache-2.0 WITH LLVM-exception) AND GPL-3.0-or-later')
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc-ada"
             "${MINGW_PACKAGE_PREFIX}-gprbuild"
             "${MINGW_PACKAGE_PREFIX}-python-e3-core")
depends=("${MINGW_PACKAGE_PREFIX}-gnatcoll-core"
         "${MINGW_PACKAGE_PREFIX}-gnatcoll-iconv"
         "${MINGW_PACKAGE_PREFIX}-gnatcoll-gmp"
         "${MINGW_PACKAGE_PREFIX}-python-funcy"
         "${MINGW_PACKAGE_PREFIX}-python-mako"
         "${MINGW_PACKAGE_PREFIX}-python-docutils")
source=("https://github.com/AdaCore/gpr/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz")
sha256sums=('6a7d03d57e2070c2d59561771c8d0be3a4d2dcd2d862d212d06583dc59f64b3a')

prepare() {
  cd "${srcdir}/${_realname}-${pkgver}"
  make setup prefix="${pkgdir}${MINGW_PREFIX}" GPR2KBDIR=${MINGW_PREFIX}/share/gprconfig
}

build() {
  cd "${srcdir}/${_realname}-${pkgver}"

  make
}

package() {
  cd "${srcdir}/${_realname}-${pkgver}"

  # Without -j1 concurrent gprinstall processes may crash:
  #
  #     raised ADA.IO_EXCEPTIONS.END_ERROR : a-tigeli.adb:96
  #     make: *** [Makefile:209: install-lib-static-pic] Error 1
  #
  # Inspired by: https://github.com/AdaCore/gprbuild/issues/41#issuecomment-396234433
  #
  make -j1 install prefix="${pkgdir}${MINGW_PREFIX}"

  # These conflict with the binaries from 'gprbuild'.
  #
  rm "${pkgdir}${MINGW_PREFIX}"/bin/gprclean.exe
  rm "${pkgdir}${MINGW_PREFIX}"/bin/gprconfig.exe
  rm "${pkgdir}${MINGW_PREFIX}"/bin/gprinstall.exe
  rm "${pkgdir}${MINGW_PREFIX}"/bin/gprls.exe

  # Copy License Files
  install -Dm644 -t "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}" \
    LICENSE COPYING3
}
