pantry/projects/rust-lang.org/package.yml
2022-10-30 10:32:32 -04:00

80 lines
1.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

distributable:
url: https://static.rust-lang.org/dist/rustc-{{ version }}-src.tar.gz
strip-components: 1
versions:
github: rust-lang/rust
strip: /^Rust /
companions:
rust-lang.org/cargo: '*'
provides:
- bin/cargo-clippy
- bin/cargo-fmt
- bin/clippy-driver
- bin/rls
- bin/rust-analyzer
- bin/rust-gdb
- bin/rust-gdbgui
- bin/rust-lldb
- bin/rustc
- bin/rustdoc
- bin/rustfmt
#TODO: unimplemented idea for the “options” feature
options:
- rls
- clippy
- rustfmt
- analysis
- { name: rust-demangler, default: false }
dependencies:
tea.xyz/gx/cc: c99
#FIXME ^^ strictly rustc only needs a linker
zlib.net: 1
build:
dependencies:
tea.xyz/gx/make: '*' #FIXME surely we dont need make AND ninja
cmake.org: ^3.20
ninja-build.org: ^1.10
python.org: 3
openssl.org: '*' # needed to build openssl-sys
freedesktop.org/pkg-config: ^0.29
script: |-
# --enable-optimize not available as of 1.63.0
if test {{version.major}} -eq 1 -a {{version.minor}} -lt 63; then
export ARGS="$ARGS --enable-optimize"
fi
./configure $ARGS
make install
for tool in $tools; do
./x.py install $tool
done
rm -rf {{prefix}}/share/doc
env:
ARGS:
- --enable-vendor
- --prefix={{ prefix }}
- --enable-ninja
- --disable-docs # docs are online
- --tools=rls,clippy,rustfmt,analysis
tools:
- rls # deprecated for rust-analyzer some time ago -- remove eventually
- clippy
- rustfmt
- rust-analyzer
test:
script: |
rustc $FIXTURE -o hello
./hello
fixture: |
fn main() {
println!("Hello World!");
}