# Maintainer: Andrea Zagli <andrea.zagli.free@gmail.com>

_realname=meson
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.6.0
pkgrel=3
pkgdesc="High-productivity build system (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
url="https://mesonbuild.com/"
msys2_repository_url="https://github.com/mesonbuild/meson"
msys2_references=(
  'archlinux: meson'
  'pypi: meson'
)
license=("spdx:Apache-2.0")
depends=("${MINGW_PACKAGE_PREFIX}-python"
         "${MINGW_PACKAGE_PREFIX}-ninja"
         "${MINGW_PACKAGE_PREFIX}-pkgconf")
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-python-build"
  "${MINGW_PACKAGE_PREFIX}-python-installer"
  "${MINGW_PACKAGE_PREFIX}-python-setuptools"
)
optdepends=("${MINGW_PACKAGE_PREFIX}-ccache: for a faster compilation"
            "${MINGW_PACKAGE_PREFIX}-sccache: for a faster compilation (preferred over ccache)")
options=('!strip')
source=("https://github.com/mesonbuild/${_realname}/releases/download/${pkgver}/${_realname}-${pkgver}.tar.gz"
        'color-term.patch'
        '0002-Default-to-sys.prefix-as-the-default-prefix.patch'
        '0004-fix-gtk-doc.patch'
        'install-man.patch'
        "https://patch-diff.githubusercontent.com/raw/mesonbuild/meson/pull/12861.patch"
        "https://github.com/mesonbuild/meson/commit/b131b2dc76ff0b14d755b1a3bbf7ce9565f49b0d.patch")
sha256sums=('999b65f21c03541cf11365489c1fad22e2418bb0c3d50ca61139f2eec09d5496'
            '5805aed0a117536eb16dd8eef978c6be57c2471b655ede63e25517c28b4f4cf0'
            '032b38f0b2765dc88e1fcb34e27b69b611e07c869c13c6e703bcf182e586fccb'
            '0f9177102976bbcbdf50c1da49842783a0c77be939e839f1bf91dcaba6a5cdee'
            '0682a36cb75e545a78b81293303835a16171f25baf949905dc08029436efff84'
            '999e0751148bd47c4496509210618cdba5e7baeb2601fbf810a88fc193bd0378'
            'cea131f81247fe783ecd4657cd8f98f00884248d088a7fc5383e4ef2a3361e9a')

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

prepare() {
  cd "${_realname}-${pkgver}"

  apply_patch_with_msg \
    color-term.patch \
    0002-Default-to-sys.prefix-as-the-default-prefix.patch \
    0004-fix-gtk-doc.patch \
    install-man.patch

  # https://github.com/mesonbuild/meson/pull/12861
  apply_patch_with_msg 12861.patch

  # support autolib field for Cargo subprojects
  apply_patch_with_msg b131b2dc76ff0b14d755b1a3bbf7ce9565f49b0d.patch
}

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

  ${MINGW_PREFIX}/bin/python -m build --wheel --skip-dependency-check --no-isolation
}

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

  MSYS2_ARG_CONV_EXCL="--prefix=" \
    ${MINGW_PREFIX}/bin/python -m installer --prefix=${MINGW_PREFIX} \
    --destdir="${pkgdir}" dist/*.whl

  install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
}
