]> git.proxmox.com Git - cargo.git/blame - README.md
dont call validate_package_name when get_registry_index alredy does it.
[cargo.git] / README.md
CommitLineData
2547b059
BN
1# Cargo
2
b4e86302
YK
3Cargo downloads your Rust project’s dependencies and compiles your project.
4
43ff35f7 5Learn more at https://doc.rust-lang.org/cargo/
b4e86302 6
41ecf3b2 7## Code Status
2547b059 8
8fa41202 9[![CI](https://github.com/rust-lang/cargo/actions/workflows/main.yml/badge.svg?branch=auto-cargo)](https://github.com/rust-lang/cargo/actions/workflows/main.yml)
10
ddffe606
MK
11Code documentation: https://docs.rs/cargo/
12
cfb69ad2 13## Installing Cargo
ffd985f1 14
cfb69ad2
AC
15Cargo is distributed by default with Rust, so if you've got `rustc` installed
16locally you probably also have `cargo` installed locally.
ffd985f1 17
cfb69ad2 18## Compiling from Source
41a4df26 19
5ef03758
AC
20Cargo requires the following tools and packages to build:
21
69740437 22* `git`
cfb69ad2 23* `curl` (on Unix)
c2edcabe 24* `pkg-config` (on Unix, used to figure out the `libssl` headers/libraries)
cfb69ad2 25* OpenSSL headers (only for Unix, this is the `libssl-dev` package on ubuntu)
ea182b83 26* `cargo` and `rustc`
5ef03758 27
d261ffda 28First, you'll want to check out this repository
c1bbc721 29
d261ffda 30```
e2f81ec8 31git clone https://github.com/rust-lang/cargo
a39a331a 32cd cargo
d261ffda
AC
33```
34
ea182b83 35With `cargo` already installed, you can simply run:
d261ffda
AC
36
37```
38cargo build --release
39```
40
1e5f7063
J
41## Adding new subcommands to Cargo
42
cfb69ad2
AC
43Cargo is designed to be extensible with new subcommands without having to modify
44Cargo itself. See [the Wiki page][third-party-subcommands] for more details and
45a list of known community-developed subcommands.
1e5f7063
J
46
47[third-party-subcommands]: https://github.com/rust-lang/cargo/wiki/Third-party-cargo-subcommands
48
fe624014 49
c41a680e
CNG
50## Releases
51
c41a680e 52Cargo releases coincide with Rust releases.
aea965c2
EH
53High level release notes are available as part of [Rust's release notes][rel].
54Detailed release notes are available in this repo at [CHANGELOG.md].
c41a680e
CNG
55
56[rel]: https://github.com/rust-lang/rust/blob/master/RELEASES.md
aea965c2 57[CHANGELOG.md]: CHANGELOG.md
c41a680e 58
3970ccd2 59## Reporting issues
c1bbc721
AC
60
61Found a bug? We'd love to know about it!
62
43914c53 63Please report all issues on the GitHub [issue tracker][issues].
c1bbc721
AC
64
65[issues]: https://github.com/rust-lang/cargo/issues
66
d11a429d
AK
67## Contributing
68
4d40ef4e
EH
69See the **[Cargo Contributor Guide]** for a complete introduction
70to contributing to Cargo.
71
72[Cargo Contributor Guide]: https://rust-lang.github.io/cargo/contrib/
d11a429d 73
c6fc2f58
AC
74## License
75
76Cargo is primarily distributed under the terms of both the MIT license
77and the Apache License (Version 2.0).
78
c130148d 79See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) for details.
74705a05
AC
80
81### Third party software
82
83This product includes software developed by the OpenSSL Project
0c3851c0 84for use in the OpenSSL Toolkit (https://www.openssl.org/).
74705a05
AC
85
86In binary form, this product includes software that is licensed under the
87terms of the GNU General Public License, version 2, with a linking exception,
88which can be obtained from the [upstream repository][1].
89
c130148d 90See [LICENSE-THIRD-PARTY](LICENSE-THIRD-PARTY) for details.
2547b059 91
74705a05
AC
92[1]: https://github.com/libgit2/libgit2
93