+rust+cargo (#67)

This commit is contained in:
Max Howell 2022-08-03 17:39:16 -04:00 committed by GitHub
parent 71080e77a4
commit 16a011a819
2 changed files with 63 additions and 0 deletions

View file

@ -53,6 +53,7 @@ jobs:
rm -rf /opt/tea.xyz/var/pantry
ln -s $GITHUB_WORKSPACE/pantry /opt/tea.xyz/var/pantry
mkdir .git # no git in our image
echo "--insecure" >> ~/.curlrc # our curl is broke somehow for rust bootstrap
;;
macos-11)
sudo mkdir -p /opt/tea.xyz/var

View file

@ -0,0 +1,62 @@
distributable:
url: https://static.rust-lang.org/dist/rustc-{{ version }}-src.tar.gz
strip-components: 1
versions:
github: rust-lang/rust
strip: /^Rust /
# TODO cargo should be a separate package (probs)
# NOTE that it does have independent versioning
# TODO we should disable rust-up etc. if you want that, install rust with rust-up!
provides:
- bin/cargo
- bin/rustc
- bin/rustdoc
- bin/rust-lldb
- bin/rust-gdb
- bin/rust-gdbgui
options:
- cargo # the rust package manager
- rls
- clippy
- rustfmt
- analysis
- { name: rust-demangler, default: false }
dependencies:
#FIXME strictly rustc only needs a linker
tea.xyz/gx/cc: c99
#TODO cargo needs git
# this is a usage dependency, it's not required for cargo to run, just for some usages of cargo to run
# so would be a little more strict than “recommended“
#git-scm.com: 2
build:
dependencies:
tea.xyz/gx/make: '*' #FIXME surely we dont need make AND ninja
cmake.org: ^3.20
ninja-build.org: ^1.10
curl.se: '*'
python.org: 3
script: |-
./configure $ARGS
make install
mv ./build/{{ hw.target }}/stage0/bin/cargo {{ prefix }}/bin/cargo
#TODO ^^ build cargo properly
env:
ARGS:
- --enable-vendor
- --prefix={{ prefix }}
- --enable-ninja
- --enable-optimize
test:
script: |
rustc $FIXTURE -o hello
./hello
fixture: |
fn main() {
println!("Hello World!");
}