# Maintainer: Renato Silva <br.renatosilva@gmail.com>
# Contributor: Mehdi Chinoune <mehdi.chinoune@hotmail.com>

_realname=xmlstarlet
pkgbase=mingw-w64-${_realname}
pkgname=(${MINGW_PACKAGE_PREFIX}-${_realname})
pkgdesc="Command-line XML toolkit"
pkgver=1.6.1
pkgrel=4
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
license=('MIT')
url="https://xmlstar.sourceforge.io/"
provides=("${MINGW_PACKAGE_PREFIX}-${_realname}-git")
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}-git")
replaces=("${MINGW_PACKAGE_PREFIX}-${_realname}-git")
depends=("${MINGW_PACKAGE_PREFIX}-libxml2"
         "${MINGW_PACKAGE_PREFIX}-libxslt")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
             "${MINGW_PACKAGE_PREFIX}-libiconv"
             "${MINGW_PACKAGE_PREFIX}-autotools")
source=("https://downloads.sourceforge.net/xmlstar/${_realname}-${pkgver}.tar.gz"
        "xmlstarlet-1.6.1-clang16.patch"
        "xmlstarlet-1.6.1-clang17.patch"
        "xmlstarlet-1.6.1-libxml2-2.14.0-compile.patch")
sha256sums=('15d838c4f3375332fd95554619179b69e4ec91418a3a5296e7c631b7ed19e7ca'
            'bf9f0bc8e395d8de2e61d38ec159d5db6138c457f47f45e87073f0c71953561b'
            'cbd8266ab14cee18e5f54a4ed031d3e6e181e2a1cdb20cab3949bedd1f874a3c'
            '5d2f35d16447e5d4258110a6e83f788ae52c9dc6b3b20eee84977626105dce1e')

prepare() {
  cd "${srcdir}/${_realname}-${pkgver}"
  patch -p1 -i "${srcdir}/xmlstarlet-1.6.1-clang16.patch"
  patch -p1 -i "${srcdir}/xmlstarlet-1.6.1-clang17.patch"
  patch -p1 -i "${srcdir}/xmlstarlet-1.6.1-libxml2-2.14.0-compile.patch"
  autoreconf -sif
}

build() {
  cd "${srcdir}/${_realname}-${pkgver}"
  ./configure \
    --prefix=${MINGW_PREFIX} \
    --build=${MINGW_CHOST} \
    --host=${MINGW_CHOST} \
    --target=${MINGW_CHOST} \
    --with-libxml-prefix=${MINGW_PREFIX} \
    --with-libxslt-prefix=${MINGW_PREFIX} \
    --with-libiconv-prefix=${MINGW_PREFIX}
    # --enable-static-libs  # To link with libxml/libxslt statically

  make
}

package() {
  cd "${srcdir}/${_realname}-${pkgver}"
  make DESTDIR="${pkgdir}" install
  local license_dir="${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}"
  mkdir -p "${license_dir}"
  cp -v Copyright "${license_dir}/Copyright"
  mv -v "${pkgdir}${MINGW_PREFIX}/bin/xml.exe" "${pkgdir}${MINGW_PREFIX}/bin/xmlstarlet.exe"
}
