pantry/projects/rust-lang.org/package.yml
Jacob Heider f784b6b1cf
fix(rtx) (#3117)
* fix(rtx)

* Update package.yml
2023-08-26 20:32:26 +02:00

89 lines
1.9 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: '*'
display-name: rust
provides:
- bin/cargo-clippy
- bin/cargo-fmt
- bin/clippy-driver
- 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:
- 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
crates.io/semverator: 0
script: |-
# --enable-optimize not available as of 1.63.0
if semverator satisfies '<1.63' {{ version }}; then
export ARGS="$ARGS --enable-optimize"
fi
# 1.68.0 introduced a regression w.r.t. CI builds
# https://github.com/rust-lang/rust/issues/108959
if semverator satisfies '>=1.68<1.70' {{ version }}; then
sed -i.bak -e 's/CiEnv::is_ci()/CiEnv::is_ci() \&\& config.rust_info.is_managed_git_subrepository()/' src/bootstrap/native.rs
rm src/bootstrap/native.rs.bak
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=clippy,rustdoc,rustfmt,analysis
tools:
- clippy
- rustfmt
- rust-analyzer
test:
script: |
mv $FIXTURE hello.rs
rustc hello.rs
./hello
fixture: |
fn main() {
println!("Hello World!");
}