distributable:
  url: https://github.com/rust-lang/cargo/archive/refs/tags/{{version}}.tar.gz
  strip-components: 1

versions:
  github: rust-lang/cargo/tags

provides:
  - bin/cargo

runtime:
  env:
    CARGO_INSTALL_ROOT: ${{home}}/.local

dependencies:
  git-scm.org: ^2
  rust-lang.org: '*'
  openssl.org: ^1 # cargo needs the certs
  curl.se: '*'
  zlib.net: ^1
  libssh2.org: ^1
  libgit2.org: ^1
  linux:
    llvm.org: '*' #FIXME only need the linker actually

build:
  dependencies:
    gnu.org/tar: '*'
    tukaani.org/xz: '*'
    freedesktop.org/pkg-config: ^0.29
    rust-lang.org/cargo: '*'
  script: cargo $ARGS
  env:
    ARGS:
      - install
      - --root={{ prefix }}
      - --path=.

test:
  env:
    CC: clang  #FIXME
  script: |
    cargo init . --name xyz_tea_fixture
    echo 'fn main() {println!("Hello World!");}' >src/main.rs
    cargo clippy
    cargo run
    cargo run --release
    cargo install cowsay
    test -x ~/.local/bin/cowsay
    ~/.local/bin/cowsay xyz.tea.hi
