# Maintainer: Vladislav Nepogodin (vnepogodin) <vnepogodin@cachyos.org>
# Contributor: Nikita Almakov <nikita.almakov@gmail.com>

pkgname=rate-mirrors
pkgver=0.31.0
pkgrel=1
pkgdesc="Everyday-use client-side map-aware mirror ranking tool"
arch=(x86_64)
url="https://github.com/westandskif/rate-mirrors"
license=('CC-BY-NC-SA-3.0')
depends=('glibc' 'gcc-libs' 'librustls')
makedepends=('git' 'cargo' 'lld' 'clang' 'llvm')
source=(
    "${pkgname}::git+$url.git#tag=v${pkgver}"
    "https://github.com/CachyOS/rate-mirrors/commit/a4d651079a9269adc7ff6b376026a0e39da452fc.patch"
    "https://github.com/CachyOS/rate-mirrors/commit/850413fc990da0fd714bcf336e05654b07f605c4.patch"
)
sha256sums=('5169d06aa8acbf5759de5e888b6567f5824cd5955d6e7d5510c52f7c31d2f04a'
            'a299c7f0b6b78dfb2e48c5254bea8baa8d7efbd63a1d207ea600d37aca68be6e'
            '0f8910500430c19fc7525cb234bc0b09bcd18e59b59d34d46cdf09b642b77958')

prepare() {
  cd "$pkgname"

  # cachyos: add proxy mirrorlist as primary
  patch -Np1 -i ../a4d651079a9269adc7ff6b376026a0e39da452fc.patch

  # archlinux: use cachyos proxy mirrorlist
  patch -Np1 -i ../850413fc990da0fd714bcf336e05654b07f605c4.patch

  cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
}

build() {
  cd "$pkgname"
  # Compile with clang
  export AR=llvm-ar
  export CC=clang
  export CXX=clang++
  export NM=llvm-nm
  export RANLIB=llvm-ranlib

  export RUSTFLAGS="-Cembed-bitcode -C opt-level=3 -Ccodegen-units=1 -Clinker=clang -C link-arg=-flto -Clink-arg=-fuse-ld=/usr/bin/ld.lld"

  cargo build --release --frozen
}

package() {
  cd "$pkgname"

  install -Dm755 "target/release/rate_mirrors" "$pkgdir/usr/bin/${pkgname}"
}

# vim:set sw=2 sts=2 et:
