# Maintainer: Maksim Bondarenkov <maksapple2306@gmail.com>
# Contributor: Mehdi Chinoune <mehdi.chinoune@hotmail.com>

_realname=coreutils
pkgname="uutils-${_realname}"
pkgver=0.4.0
pkgrel=1
pkgdesc="Cross-platform Rust rewrite of the GNU coreutils"
arch=('any')
url='https://github.com/uutils/coreutils'
msys2_references=(
  'archlinux: uutils-coreutils'
  'purl: pkg:cargo/coreutils'
)
license=('spdx:MIT')
depends=("oniguruma" "gcc-libs")
makedepends=("rust" "pkgconf")
source=("https://github.com/uutils/coreutils/archive/${pkgver}/${_realname}-${pkgver}.tar.gz"
        "libc-0.2.177.tar.gz::https://crates.io/api/v1/crates/libc/0.2.177/download"
        "nix-0.30.1.tar.gz::https://crates.io/api/v1/crates/nix/0.30.1/download"
        "libc-add-missing-cygwin-definitions.patch"
        "nix-add-sync.patch"
        "uucore-support-cygwin.patch")
sha256sums=('5f0c3f97b807e72edccc844c6a685ec9862199f16a665df07de5b1d20ec21233'
            '2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976'
            '74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6'
            'cc9bcd5c68cbbd2732e6f43d2686033f00d650eb2dc7c18b70992847a7e2bfa2'
            '14f430635fb87d0bc12d1b6870365614f7ae259f7c235c420454303250aef7dd'
            '8cf8d3b83fb1f66b7d1fd8892368f755216cdfffc8a8687a33aa6b79fb5d183e')

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

  patch -p1 -i ../uucore-support-cygwin.patch
  patch -d ../libc-0.2.177 -p1 -i ../libc-add-missing-cygwin-definitions.patch
  patch -d ../nix-0.30.1 -p1 -i ../nix-add-sync.patch
  cat >> Cargo.toml <<END

[patch.crates-io]
libc.path = "../libc-0.2.177"
mio = { git = "https://github.com/tokio-rs/mio", rev = "f352b81d27e39ca3ee1da08c12d8f5795a9dca12" }
nix.path = "../nix-0.30.1"
END

  cargo update -p libc -p mio -p nix
  cargo fetch --locked --target "${RUST_CHOST}"
}

# spliting build() sometimes cause building twice at make build
package() {
  cd "${_realname}-${pkgver}"

  # `more` exists in util-linux package
  export RUSTONIG_DYNAMIC_LIBONIG=1
  make -O install \
    DESTDIR="${pkgdir}" \
    PREFIX="/usr" \
    PROFILE=release \
    SKIP_UTILS="more" \
    PROG_PREFIX="uu-" \
    MULTICALL=y \
    LN="ln -vf"

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