pantry/projects/rust-lang.org/cargo/package.yml
2023-03-28 08:42:12 -04:00

65 lines
1.4 KiB
YAML

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: ${{env.HOME}}/.local
dependencies:
git-scm.org: 2
rust-lang.org: '*'
openssl.org: ^1 # cargo needs the certs
#TODO curl.se: ^8
zlib.net: ^1
#TODO ^^ prevent vendoring by requiring these: libssh2.org & libgit2.org
build:
dependencies:
gnu.org/tar: '*'
tukaani.org/xz: '*'
freedesktop.org/pkg-config: ^0.29
script: |-
case "{{hw.platform}}-{{hw.arch}}" in
darwin-aarch64)
TRIPLE=aarch64-apple-darwin
;;
darwin-x86-64)
TRIPLE=x86_64-apple-darwin
;;
linux-aarch64)
TRIPLE=aarch64-unknown-linux-gnu
;;
linux-x86-64)
TRIPLE=x86_64-unknown-linux-gnu
;;
esac
# cargo requires cargo to cargo
# FIXME: versions?
curl https://static.rust-lang.org/dist/2022-08-11/cargo-1.63.0-$TRIPLE.tar.xz | tar Jxf -
./cargo-1.63.0-$TRIPLE/cargo/bin/cargo $ARGS
env:
ARGS:
- install
- --root={{ prefix }}
- --path=.
test:
script: |
cargo init .
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