RPM build fix (reverted CI changes which will need to be un-reverted or made conditional) and vendor Rust dependencies to make builds much faster in any CI system.
This commit is contained in:
80
zeroidc/vendor/version_check/README.md
vendored
Normal file
80
zeroidc/vendor/version_check/README.md
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
# version\_check
|
||||
|
||||
[](https://github.com/SergioBenitez/version_check/actions)
|
||||
[](https://crates.io/crates/version_check)
|
||||
[](https://docs.rs/version_check)
|
||||
|
||||
This tiny crate checks that the running or installed `rustc` meets some version
|
||||
requirements. The version is queried by calling the Rust compiler with
|
||||
`--version`. The path to the compiler is determined first via the `RUSTC`
|
||||
environment variable. If it is not set, then `rustc` is used. If that fails, no
|
||||
determination is made, and calls return `None`.
|
||||
|
||||
## Usage
|
||||
|
||||
Add to your `Cargo.toml` file, typically as a build dependency:
|
||||
|
||||
```toml
|
||||
[build-dependencies]
|
||||
version_check = "0.9"
|
||||
```
|
||||
|
||||
`version_check` is compatible and compiles with Rust 1.0.0 and beyond.
|
||||
|
||||
## Examples
|
||||
|
||||
Set a `cfg` flag in `build.rs` if the running compiler was determined to be
|
||||
at least version `1.13.0`:
|
||||
|
||||
```rust
|
||||
extern crate version_check as rustc;
|
||||
|
||||
if rustc::is_min_version("1.13.0").unwrap_or(false) {
|
||||
println!("cargo:rustc-cfg=question_mark_operator");
|
||||
}
|
||||
```
|
||||
|
||||
Check that the running compiler was released on or after `2018-12-18`:
|
||||
|
||||
```rust
|
||||
extern crate version_check as rustc;
|
||||
|
||||
match rustc::is_min_date("2018-12-18") {
|
||||
Some(true) => "Yep! It's recent!",
|
||||
Some(false) => "No, it's older.",
|
||||
None => "Couldn't determine the rustc version."
|
||||
};
|
||||
```
|
||||
|
||||
Check that the running compiler supports feature flags:
|
||||
|
||||
```rust
|
||||
extern crate version_check as rustc;
|
||||
|
||||
match rustc::is_feature_flaggable() {
|
||||
Some(true) => "Yes! It's a dev or nightly release!",
|
||||
Some(false) => "No, it's stable or beta.",
|
||||
None => "Couldn't determine the rustc version."
|
||||
};
|
||||
```
|
||||
|
||||
See the [rustdocs](https://docs.rs/version_check) for more examples and complete
|
||||
documentation.
|
||||
|
||||
## Alternatives
|
||||
|
||||
This crate is dead simple with no dependencies. If you need something more and
|
||||
don't care about panicking if the version cannot be obtained, or if you don't
|
||||
mind adding dependencies, see [rustc_version]. If you'd instead prefer a feature
|
||||
detection library that works by dynamically invoking `rustc` with a
|
||||
representative code sample, see [autocfg].
|
||||
|
||||
[rustc_version]: https://crates.io/crates/rustc_version
|
||||
[autocfg]: https://crates.io/crates/autocfg
|
||||
|
||||
## License
|
||||
|
||||
`version_check` is licensed under either of the following, at your option:
|
||||
|
||||
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
|
||||
* MIT License ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
|
||||
Reference in New Issue
Block a user