# Contributor: Mehdi Chinoune <mehdi.chinoune@hotmail.com>

_realname=coreutils
pkgbase=mingw-w64-uutils-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-uutils-${_realname}")
pkgver=0.0.25
pkgrel=1
pkgdesc="Cross-platform Rust rewrite of the GNU coreutils (mingw-w64)"
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url='https://github.com/uutils/coreutils'
msys2_references=(
  'archlinux: uutils-coreutils'
)
license=('spdx:MIT')
depends=("${MINGW_PACKAGE_PREFIX}-oniguruma")
makedepends=("${MINGW_PACKAGE_PREFIX}-rust" "${MINGW_PACKAGE_PREFIX}-pkgconf")
source=("https://github.com/uutils/coreutils/archive/${pkgver}/${_realname}-${pkgver}.tar.gz"
        "dont-generate-man-completions.patch")
sha256sums=('e6e4626e18eb5bd68480fc4860dc6203259a931d0357f8da900d8f5d6926c7ce'
            '288d195cced7f39a477c9420cb2957349c72facd75a137351d88d2363d7b935d')

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

  cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"

  # generating completions and manpages segfaults on CLANG64
  if [[ $MSYSTEM == CLANG64 ]]; then
    patch -Np1 -i "${srcdir}/dont-generate-man-completions.patch"
  fi

  cargo update -p windows-targets@0.48.0 --precise 0.48.1
}

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

  export RUSTONIG_DYNAMIC_LIBONIG=1
  make PROFILE=release
}

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

  export RUSTONIG_DYNAMIC_LIBONIG=1
  make install DESTDIR="${pkgdir}" PREFIX="${MINGW_PREFIX}"

  install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/uutils-${_realname}/LICENSE"
}
