Vasudev Kamath [Sat, 9 Jun 2018 09:11:23 +0000 (14:41 +0530)]
Update README.source to mention preferred way of upload.
Ximin Luo [Thu, 7 Jun 2018 05:35:33 +0000 (22:35 -0700)]
Release 0.27.0-2 to Debian unstable.
Ximin Luo [Thu, 7 Jun 2018 05:34:56 +0000 (22:34 -0700)]
Support cross-compile install
Ximin Luo [Thu, 7 Jun 2018 04:42:39 +0000 (21:42 -0700)]
Add link to bug on cross-linker auto-detection
Vasudev Kamath [Sun, 3 Jun 2018 15:16:22 +0000 (20:46 +0530)]
Upload to unstable.
Vasudev Kamath [Sat, 2 Jun 2018 09:46:35 +0000 (15:16 +0530)]
Prepare upload for experimental.
Vasudev Kamath [Sat, 2 Jun 2018 09:39:46 +0000 (15:09 +0530)]
Update copyright with new vendor crate info
Vasudev Kamath [Sat, 19 May 2018 13:39:17 +0000 (19:09 +0530)]
Update changelog.
Vasudev Kamath [Sat, 19 May 2018 13:38:08 +0000 (19:08 +0530)]
Just commenting out tests won't work drop all unused imports
caused by #[deny(warnings)] directive
Vasudev Kamath [Sun, 13 May 2018 15:32:44 +0000 (21:02 +0530)]
Not just comment out #[test] but entire test
Looks like new cargo will cause build failure on unused code.
Vasudev Kamath [Sat, 12 May 2018 17:25:52 +0000 (22:55 +0530)]
Refresh patch 2007
Vasudev Kamath [Sat, 12 May 2018 17:24:00 +0000 (22:54 +0530)]
Drop patch 1001 as its now part of upstream.
Vasudev Kamath [Sat, 12 May 2018 17:05:43 +0000 (22:35 +0530)]
Adjust file name and path to test files in patch 2002
Vasudev Kamath [Sat, 12 May 2018 15:19:23 +0000 (20:49 +0530)]
Update patch 2001_use-system-libgit2 for libgit2-sys 0.7.1
Vasudev Kamath [Sat, 12 May 2018 15:08:09 +0000 (20:38 +0530)]
Update upstream source from tag 'upstream/0.27.0'
Update to upstream version '0.27.0'
with Debian dir
501b0e3680662c6bd5f368b11fd2872e61a63f37
Vasudev Kamath [Sat, 12 May 2018 15:07:07 +0000 (20:37 +0530)]
New upstream version 0.27.0
Vasudev Kamath [Sat, 12 May 2018 15:05:12 +0000 (20:35 +0530)]
Add files from clap and vec_map to unsuspicious list.
Vasudev Kamath [Sat, 12 May 2018 15:04:46 +0000 (20:34 +0530)]
Update patch 2004 for the new release.
Vasudev Kamath [Tue, 1 May 2018 07:32:24 +0000 (13:02 +0530)]
Prepare upload to unstable.
Vasudev Kamath [Sat, 21 Apr 2018 15:29:45 +0000 (20:59 +0530)]
prepare release for experimental.
Vasudev Kamath [Sat, 21 Apr 2018 15:02:33 +0000 (20:32 +0530)]
Add copyright for lazycell, proc-macro, quick-error and ucd-util
Vasudev Kamath [Sun, 15 Apr 2018 16:47:32 +0000 (22:17 +0530)]
Mark as unreleased
Pending copyright file updates.
Vasudev Kamath [Sun, 15 Apr 2018 16:44:38 +0000 (22:14 +0530)]
Prepare for experimetnal release.
Vasudev Kamath [Sun, 15 Apr 2018 16:44:09 +0000 (22:14 +0530)]
Add copyright for humantime crate.
Vasudev Kamath [Sun, 15 Apr 2018 15:30:46 +0000 (21:00 +0530)]
Refresh patch 1001 with new upstream release.
Vasudev Kamath [Sun, 15 Apr 2018 15:29:47 +0000 (20:59 +0530)]
Add generate_lock_file.rs to patch 2002
Disable no_index_update patch.
Vasudev Kamath [Sun, 15 Apr 2018 15:43:05 +0000 (21:13 +0530)]
Drop patch 1002, merged upstream
Vasudev Kamath [Sun, 15 Apr 2018 15:42:47 +0000 (21:12 +0530)]
Drop patch 2006 as the wasm32 tests are dropped.
Vasudev Kamath [Sun, 15 Apr 2018 15:22:48 +0000 (20:52 +0530)]
Drop 2003 2005 and cargo-doc.doc-base as docs can't be built
Vasudev Kamath [Sun, 15 Apr 2018 09:15:51 +0000 (14:45 +0530)]
Mark package compliance with Debian Policy 4.1.4.
Vasudev Kamath [Sun, 15 Apr 2018 09:11:10 +0000 (14:41 +0530)]
Update upstream source from tag 'upstream/0.26.0'
Update to upstream version '0.26.0'
with Debian dir
cb4be93fcfeabfd0586ac0dc6943a32134549461
Vasudev Kamath [Sun, 15 Apr 2018 09:10:21 +0000 (14:40 +0530)]
New upstream version 0.26.0
Vasudev Kamath [Sun, 15 Apr 2018 09:03:15 +0000 (14:33 +0530)]
Refresh the patch 2004 against newer Cargo.toml
Vasudev Kamath [Sun, 15 Apr 2018 07:30:37 +0000 (13:00 +0530)]
Prepare release for unstable.
Vasudev Kamath [Sun, 15 Apr 2018 06:54:17 +0000 (12:24 +0530)]
Add patch to prevent incremental builds on sparc64.
Closes: bug#895300, Thanks to John Paul Adrian Glaubitz.
bors [Fri, 6 Apr 2018 21:29:30 +0000 (21:29 +0000)]
Auto merge of #5309 - alexcrichton:beta-next, r=alexcrichton
[beta] Fix another issue of poisoning too eagerly
Backport of https://github.com/rust-lang/cargo/pull/5307
Alex Crichton [Fri, 6 Apr 2018 19:35:37 +0000 (12:35 -0700)]
Fix another issue of poisoning too eagerly
This commit extends the fix in #5288 by moving the logic added farther up in the
loop over package dependencies. This means that we won't recursively look at
optional/dev path dependencies which aren't members of the workspace. This
should fix the new issue that came up in #5257
Closes #5257
bors [Wed, 4 Apr 2018 06:36:13 +0000 (06:36 +0000)]
Auto merge of #5291 - matklad:regression-backport, r=matklad
[beta] backport #5288
Alex Crichton [Tue, 3 Apr 2018 18:42:44 +0000 (11:42 -0700)]
Less aggressively poison sources on builds
Discovered in #5257 the changes in #5215 were slightly too aggressively
poisoning sources to require updates, thinking that a manifest changed when it
actually hadn't.
Non-workspace-member path dependencies with optional/dev-dependencies
don't show up in the lock file, so the previous logic would recognize this and
think that the dependency missing from the lock file was just added and would
require a registry update.
The fix in this commit effectively just skips all of these dependencies in
non-workspace members. This means that this will be slightly buggy if an
optional dependency that's activated is added, but that's hopefully something we
can tackle later.
Closes #5257
Alex Crichton [Mon, 2 Apr 2018 15:48:53 +0000 (08:48 -0700)]
Remove rustfmt from Travis
As discussed at the recent work week this is probably a bit too zealous at this
time, so let's hold off on it until it's either more stable or we figure out a
better way to deal with changes in rustfmt.
For now though it'll hopefully be easy to continue running rustfmt every so
often!
Ximin Luo [Sat, 31 Mar 2018 12:14:27 +0000 (14:14 +0200)]
Update Vcs-* fields to salsa
bors [Wed, 28 Mar 2018 14:21:26 +0000 (14:21 +0000)]
Auto merge of #5255 - matklad:rustdoc-features, r=alexcrichton
Restore --features args for cargo rustdoc
Closes https://github.com/rust-lang/cargo/issues/5254
Aleksey Kladov [Tue, 27 Mar 2018 22:56:46 +0000 (01:56 +0300)]
Restore --features args for cargo rustdoc
It was accidentally omited when migrating to clap
bors [Tue, 27 Mar 2018 18:14:32 +0000 (18:14 +0000)]
Auto merge of #5252 - matklad:new-context-new, r=alexcrichton
Supply units to the context at the point of creation
This slightly reshuffles `Context` creation. The main benefit is that we know the set of units when we do `Context::new`, so we could use it to precalculate more things.
Aleksey Kladov [Tue, 27 Mar 2018 16:03:22 +0000 (19:03 +0300)]
Supply units to the context at the point of creation
bors [Tue, 27 Mar 2018 13:58:26 +0000 (13:58 +0000)]
Auto merge of #5249 - alexcrichton:run-rustc-less, r=matklad
Run `rustc` for information fewer times
Currently if you pass `--target` the same as rustc's host Cargo will run `rustc`
on extra time to learn information, but we only need to run it once to learn
such information!
Alex Crichton [Tue, 27 Mar 2018 11:55:23 +0000 (04:55 -0700)]
Run `rustc` for information fewer times
Currently if you pass `--target` the same as rustc's host Cargo will run `rustc`
on extra time to learn information, but we only need to run it once to learn
such information!
bors [Tue, 27 Mar 2018 13:16:48 +0000 (13:16 +0000)]
Auto merge of #5250 - rleungx:tweak-error-message, r=matklad
tweak error message
Closes #5238.
rleungx [Tue, 27 Mar 2018 12:54:18 +0000 (20:54 +0800)]
address comment
rleungx [Tue, 27 Mar 2018 12:34:18 +0000 (20:34 +0800)]
tweak error message
bors [Tue, 27 Mar 2018 12:19:45 +0000 (12:19 +0000)]
Auto merge of #5205 - gibix:i2773, r=alexcrichton
fix #2773 with new precise encode
Changed the precise encode from <pkg>=<precise> to <pkg>=<present_version>-><future_version> in order to check the correct requirements.
cc @lu-zero
bors [Mon, 26 Mar 2018 13:00:26 +0000 (13:00 +0000)]
Auto merge of #5228 - phil-opp:target-spec, r=alexcrichton
Add support for absolute target.json paths
Builds upon https://github.com/rust-lang/rust/pull/49019 with the goal to provide a solution to https://github.com/rust-lang/cargo/issues/4905.
This PR does two things:
~~1. It appends a hash of the target path to the target folder name if a `*.json` path is passed as `--target`, like it's done in https://github.com/rust-lang/rust/pull/49019. This helps differentiating targets with the same JSON file name and avoids sysroot clashes in `xargo`.~~ See https://github.com/rust-lang/cargo/pull/5228#discussion_r176827531
2. It canonicalizes the passed target path (if it's a `*.json` path), so that the path stays valid when building dependencies and setting the `RUST_TARGET_PATH` environment variable is no longer necessary.
bors [Mon, 26 Mar 2018 12:37:09 +0000 (12:37 +0000)]
Auto merge of #5244 - Eijebong:tempfile, r=alexcrichton
Replace tempdir by tempfile
The former has been deprecated in favor of the latter
Bastien Orivel [Mon, 26 Mar 2018 10:42:30 +0000 (12:42 +0200)]
Replace tempdir by tempfile
The former has been deprecated in favor of the latter
bors [Mon, 26 Mar 2018 06:53:49 +0000 (06:53 +0000)]
Auto merge of #5243 - alexcrichton:more-feature-sync, r=alexcrichton
More effort to only compile Cargo once
Hopefully one final change necessary for rust-lang/rust#49053
Alex Crichton [Mon, 26 Mar 2018 06:52:55 +0000 (23:52 -0700)]
More effort to only compile Cargo once
Hopefully one final change necessary for rust-lang/rust#49053
Philipp Oppermann [Sat, 24 Mar 2018 20:38:48 +0000 (21:38 +0100)]
Add custom target tests
Philipp Oppermann [Thu, 22 Mar 2018 17:53:19 +0000 (18:53 +0100)]
Canonicalize paths passed as `--target`
bors [Sun, 25 Mar 2018 07:25:30 +0000 (07:25 +0000)]
Auto merge of #5232 - matklad:unit-map, r=alexcrichton
Refactor context to extract dependencies calculation to a separate mod
This makes unit dependency graph construction eager and moves it to a separate file.
Hopefully, this makes `Context` slightly easier to understand :)
Aleksey Kladov [Fri, 23 Mar 2018 11:51:32 +0000 (14:51 +0300)]
Refactor context to extract dependencies calculation to a separate mod
bors [Sat, 24 Mar 2018 19:54:49 +0000 (19:54 +0000)]
Auto merge of #5239 - alexcrichton:remove-scoped-tls, r=matklad
Remove scoped_tls dependency
This is causing [conflicts] with rebuilding upstream in rust-lang/rust, so
remove this for now until we figure out a better solution.
[conflicts]: https://github.com/rust-lang/rust/pull/49053#issuecomment-
375906970
Alex Crichton [Sat, 24 Mar 2018 16:51:33 +0000 (09:51 -0700)]
Remove scoped_tls dependency
This is causing [conflicts] with rebuilding upstream in rust-lang/rust, so
remove this for now until we figure out a better solution.
[conflicts]: https://github.com/rust-lang/rust/pull/49053#issuecomment-
375906970
gibix [Sat, 24 Mar 2018 19:04:19 +0000 (20:04 +0100)]
add precise test
gibix [Sat, 24 Mar 2018 19:04:02 +0000 (20:04 +0100)]
cargo fmt
gibix [Tue, 20 Mar 2018 10:02:29 +0000 (11:02 +0100)]
fix typo , drop return and intermediate vector
gibix [Tue, 20 Mar 2018 08:58:51 +0000 (09:58 +0100)]
cargo fmt
gibix [Mon, 19 Mar 2018 17:43:02 +0000 (18:43 +0100)]
fix #2773 with new precise encode
bors [Sat, 24 Mar 2018 16:59:59 +0000 (16:59 +0000)]
Auto merge of #5213 - Eh2406:faster_resolver, r=alexcrichton
Faster resolver: use a inverse-index to not activate the causes of conflict
This adds a test for https://github.com/rust-lang/cargo/issues/4810#issuecomment-
357553286 with two extensions that make it harder. It is the last reproducible and in the wild exponentially slow resolution (that I have found).
The problem in the test is `backtrack_trap0 = "*"` is a lot of ways of saying `constrained = ">=1.1.0, <=2.0.0"` but `constrained= "2.0.1"` is already picked. Only then to try and solve `constrained= "~1.0.0"` which is incompatible. Our parent knows that we have been poisoned, and wont try to activate us again. Because of the order we evaluate deps we end up backtracking to where `constrained: 1.1.0` is set instead of our parent. And so the poisoning does not help. This is harder then https://github.com/rust-lang/cargo/issues/4810#issuecomment-
357553286 because:
1. Having multiple semver compatible versions of constrained in play makes for a lot more bookkeeping. Specifically bookkeeping I forgot when I first submitted this PR.
2. The problematic dependencies are added deep in a combinatorial explosion of possibilities. So if we don't correctly handle caching that `backtrack_trap0 = "*"` is doomed then we will never finish looking thru the different possibilities for `level0 = "*"`
This PR also includes a proof of concept solution for the test, which proves that it does solve https://github.com/rust-lang/cargo/issues/4810#issuecomment-
357553286. The added code is tricky to read. It also adds a `O(remaining_deps)` job to every activation on the happy path, slower if the `past_conflicting_activations` is not empty.
I'd like some brainstorming on better solutions.
Eh2406 [Fri, 23 Mar 2018 20:40:51 +0000 (16:40 -0400)]
address suggestions
Eh2406 [Fri, 23 Mar 2018 15:39:12 +0000 (11:39 -0400)]
Move caching to a support struct and file
Eh2406 [Thu, 22 Mar 2018 21:33:56 +0000 (17:33 -0400)]
add comments
Eh2406 [Thu, 22 Mar 2018 20:18:58 +0000 (16:18 -0400)]
remove some loops
Eh2406 [Wed, 21 Mar 2018 21:05:55 +0000 (17:05 -0400)]
test the new backtracking does all of its bookkeeping
Eh2406 [Wed, 21 Mar 2018 17:09:08 +0000 (13:09 -0400)]
maintain an inverse-index
Eh2406 [Sun, 18 Mar 2018 03:05:08 +0000 (23:05 -0400)]
problematic extension and solution
Eh2406 [Sun, 18 Mar 2018 02:44:30 +0000 (22:44 -0400)]
A slow and ugly solution, but it works.
Eh2406 [Sun, 18 Mar 2018 02:31:04 +0000 (22:31 -0400)]
Add a test for https://github.com/rust-lang/cargo/issues/4810#issuecomment-
357553286
bors [Fri, 23 Mar 2018 19:20:10 +0000 (19:20 +0000)]
Auto merge of #5200 - klausi:minimal_versions, r=Eh2406
feat(resolver): Add CLI option to resolve minimal version dependencies
Fixes #4100
Test cases are still missing. We need to come up with a plan what cases we want to cover.
Thanks a lot to @Eh2406 for very helpful instructions to kick this off.
Klaus Purer [Fri, 23 Mar 2018 19:06:49 +0000 (20:06 +0100)]
tests(resolver): Group integration test with other minimal version test
Klaus Purer [Fri, 23 Mar 2018 18:58:56 +0000 (19:58 +0100)]
tests(resolver): Add integration test for -Z minimal-versions
Klaus Purer [Fri, 23 Mar 2018 17:28:51 +0000 (18:28 +0100)]
fix(resolver): Preserve lock file when sorting for minimal versions, document tests
bors [Fri, 23 Mar 2018 15:28:44 +0000 (15:28 +0000)]
Auto merge of #5233 - lukaslueg:issue5229, r=matklad
Assert Dependency::name is never empty, prevent 'install ""' from crashing
An explicit `cargo install ""` would cause clap to pass an empty crate-name,
leading to a panic(). We now assert() that Dependency::name is never the
empty string and prevent the situation in the first place by not allowing
the crate-name to be empty for `install`.
Fixes #5229
Lukas Lueg [Fri, 23 Mar 2018 14:26:50 +0000 (15:26 +0100)]
Assert that Dependency::name is never empty, prevent 'install ""' from crashing
An explicit `cargo install ""` would cause clap to pass an empty crate-name,
leading to a panic(). We now assert() that Dependency::name is never the
empty string and prevent the situation in the first place by not allowing
the crate-name to be empty for `install`.
Fixes #5229
bors [Fri, 23 Mar 2018 14:33:49 +0000 (14:33 +0000)]
Auto merge of #5231 - matklad:simplify, r=alexcrichton
Simplify `build_map`
This doesn't change semantics, but helps us not to rebuild BuildScripts
twice, and makes sure that we fail with assert if somehow we get cyclic
deps.
r? @alexcrichton
Aleksey Kladov [Fri, 23 Mar 2018 09:20:01 +0000 (12:20 +0300)]
Simplify `build_map`
This doesn't change semantics, but helps us not to rebuild BuildScripts
twice, and makes sure that we fail with assert if somehow we get cyclic
deps
bors [Fri, 23 Mar 2018 02:25:08 +0000 (02:25 +0000)]
Auto merge of #5230 - matthiaskrgr:newline, r=alexcrichton
add final linebreak to cargo default help message.
before:

patch:

I assume this is some kind of leftover from the clap transition. cc @matklad
Matthias Krüger [Fri, 23 Mar 2018 01:33:50 +0000 (02:33 +0100)]
add final linebreak to cargo default help message.
bors [Thu, 22 Mar 2018 18:48:48 +0000 (18:48 +0000)]
Auto merge of #5226 - jeehoonkang:doc-caret, r=alexcrichton
doc: Clarify the meaning of caret requirements
Closes #4910 (which is already closed, though 😄)
r? @alexcrichton
Jeehoon Kang [Thu, 22 Mar 2018 18:25:28 +0000 (03:25 +0900)]
doc: Clarify the meaning of caret requirements
Closes #4910
bors [Thu, 22 Mar 2018 16:32:43 +0000 (16:32 +0000)]
Auto merge of #5225 - matthiaskrgr:revert_pr5223, r=alexcrichton
Revert "manifest: update default lto for release and bench to 'thin'."
This reverts commit
e74ff4db13f2ae00245902cb5b496b3b39128653.
Turns out I was wrong, sorry for the noise.
Matthias Krüger [Thu, 22 Mar 2018 15:26:13 +0000 (16:26 +0100)]
Revert "manifest: update default lto for release and bench to 'thin'."
This reverts commit
e74ff4db13f2ae00245902cb5b496b3b39128653.
Turns out I was wrong, sorry for the noise.
Vasudev Kamath [Thu, 22 Mar 2018 14:38:36 +0000 (20:08 +0530)]
Prepare upload to unstable.
bors [Thu, 22 Mar 2018 14:07:49 +0000 (14:07 +0000)]
Auto merge of #5217 - matklad:known-crate-types, r=alexcrichton
Preprobe info for known crate type
Previously, we've calculated the set of crate types to learn about by
recursively walking the graph of units. However, to actually know
dependencies of a unit exactly, we must know target specific info, and
we don't know it at this moment (in fact, we are trying calculating it).
Note that crate-type calculation is already lazy, we don't have to calc
all crate-types upfront. So, let's just scrape this info once for
well-known crate types, and fill whatever is left lazily.
@alexcrichton would this approach work at all? I think it would, if `KNOWN_CRATE_TYPES` are all available for all target-tripples we support. Is it a valid assumption?
The larger picture is that I am trying to make unit dependency resolution eager and move it into the separate file. I even got something working, but I have to run dependency resolution three times, because it is not exactly idempotent for various reasons, including this target-info stuff :)
```
cx.prepare()?;
cx.build_unit_map(units.clone())?; // resolve dependencies
cx.probe_target_info(&units)?;
cx.build_unit_map(units.clone())?; // resolve again
cx.build_used_in_plugin_map(&units)?;
custom_build::build_map(&mut cx, &units)?;
cx.build_unit_map(units.clone())?; // and resolve one final time :)
```
bors [Thu, 22 Mar 2018 11:50:27 +0000 (11:50 +0000)]
Auto merge of #5223 - matthiaskrgr:manifest_update, r=matklad
manifest: update default lto for release and bench to "thin"
[redacted]
Matthias Krüger [Thu, 22 Mar 2018 11:36:37 +0000 (12:36 +0100)]
manifest: update default lto for release and bench to 'thin'.
bors [Thu, 22 Mar 2018 09:01:37 +0000 (09:01 +0000)]
Auto merge of #5222 - AdamNiederer:patch-1, r=matklad
Add docstrings to CleanOptions
Adam Niederer [Thu, 22 Mar 2018 02:13:05 +0000 (22:13 -0400)]
Add docstrings to CleanOptions
bors [Wed, 21 Mar 2018 18:48:39 +0000 (18:48 +0000)]
Auto merge of #5219 - mbrubeck:doc, r=alexcrichton
Fix usage text for cargo install
The current text was accidentally copied from `cargo init`.
Matt Brubeck [Wed, 21 Mar 2018 16:26:51 +0000 (09:26 -0700)]
Fix usage text for cargo install
The current text was accidentally copied from `cargo init`.
bors [Wed, 21 Mar 2018 14:19:11 +0000 (14:19 +0000)]
Auto merge of #5186 - infinity0:stricter-need-dev-deps, r=alexcrichton
Stricter need_dev_deps behaviour
The previous PR (#5012) contained an unnecessary work-around for behaviour of `--all-targets` that was misunderstood. This PR removes that work-around and adds some tests and comments to clarify the behaviour for future contributors, which may help to make easier a future fix for #5177 and #5178.