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

_realname=coreutils
pkgbase=mingw-w64-uutils-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-uutils-${_realname}")
pkgver=0.0.24
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')
makedepends=("${MINGW_PACKAGE_PREFIX}-rust")
source=("https://github.com/uutils/coreutils/archive/${pkgver}/${_realname}-${pkgver}.tar.gz"
        "dont-generate-man-completions.patch")
sha256sums=('57c9083695e35712ddafc3cd8c579481ba5976107f357a6b5f1b1d813181dc36'
            '288d195cced7f39a477c9420cb2957349c72facd75a137351d88d2363d7b935d')

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

  local _target="${CARCH}-pc-windows-gnu"
  if [[ $MINGW_PACKAGE_PREFIX == *-clang-aarch64 ]]; then
    _target="${CARCH}-pc-windows-gnullvm"
  fi
  cargo fetch --locked --target "${_target}"

  # 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}"

  make PROFILE=release
}

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

  make install DESTDIR="${pkgdir}" PREFIX="${MINGW_PREFIX}"

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