# Maintainer: Maksim Bondarenkov <maksapple2306@gmail.com>

pkgname=cargo-edit
pkgver=0.13.8
pkgrel=2
pkgdesc="A utility for managing cargo dependencies from the command line"
arch=('x86_64')
url='https://github.com/killercup/cargo-edit'
msys2_changelog_url='https://github.com/killercup/cargo-edit/blob/master/CHANGELOG.md'
msys2_references=(
  'archlinux: cargo-edit'
  'purl: pkg:cargo/cargo-edit'
)
license=('spdx:MIT')
depends=("rust")
source=("${url}/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz"
        "ring-0.17.14.tar.gz::https://crates.io/api/v1/crates/ring/0.17.14/download"
        "ring-support-cygwin.patch")
sha256sums=('73bfbd80c0f54bffd8ebdfeb579ba8bd0ba4be9fdad06ed0f8dc99d3911f4774'
            'a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7'
            '8595d93ebdcc37b023113b60196ba0d4bec2d9623e4092b19a699ed1458f33fa')

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

  patch -p1 -d ../ring-0.17.14 -i ../ring-support-cygwin.patch
  cat >> Cargo.toml <<END

[patch.crates-io]
ring.path = "../ring-0.17.14"
END

  cargo update -p ring
  cargo fetch --locked --target "${RUST_CHOST}"
}

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

  cargo build --release --frozen
}

check() {
  cd "${pkgname}-${pkgver}"

  cargo test --release --frozen
}

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

  cargo install \
    --offline \
    --no-track \
    --frozen \
    --path . \
    --root "${pkgdir}/usr"

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