]> git.proxmox.com Git - cargo.git/log
cargo.git
7 years agoInstall all manpages, add more TODO
Ximin Luo [Tue, 25 Jul 2017 12:55:10 +0000 (14:55 +0200)]
Install all manpages, add more TODO

7 years agoTry to get cross-compiling working again
Ximin Luo [Tue, 25 Jul 2017 12:50:59 +0000 (14:50 +0200)]
Try to get cross-compiling working again

7 years agoUpdate packaging for 0.20.0, ./configure is gone
Ximin Luo [Tue, 25 Jul 2017 12:47:33 +0000 (14:47 +0200)]
Update packaging for 0.20.0, ./configure is gone

7 years agoUpdate patches
Ximin Luo [Tue, 25 Jul 2017 12:09:49 +0000 (14:09 +0200)]
Update patches

7 years agoAdd TODO.Debian
Ximin Luo [Tue, 25 Jul 2017 11:58:54 +0000 (13:58 +0200)]
Add TODO.Debian

7 years agoBump libgit2 B-D
Ximin Luo [Tue, 25 Jul 2017 11:51:17 +0000 (13:51 +0200)]
Bump libgit2 B-D

7 years agoFix cross-compiling declarations
Ximin Luo [Tue, 25 Jul 2017 11:45:32 +0000 (13:45 +0200)]
Fix cross-compiling declarations

Multi-Arch: foreign is for shared-data packages, see
https://wiki.debian.org/Multiarch/Implementation#Multi-Arch:_foreign_support_packages

Multi-Arch: allowed is for compilers and things, e.g. see python3 and make

7 years agoInstall some useful package maintenance scripts to /usr/share/cargo
Ximin Luo [Tue, 25 Jul 2017 11:35:13 +0000 (13:35 +0200)]
Install some useful package maintenance scripts to /usr/share/cargo

7 years agoMerge branch 'debian/sid' into debian/experimental
Ximin Luo [Tue, 25 Jul 2017 11:17:05 +0000 (13:17 +0200)]
Merge branch 'debian/sid' into debian/experimental

7 years agoRevert "Re-embed libgit2 0.25.1 due to the Debian testing freeze"
Ximin Luo [Tue, 25 Jul 2017 11:15:45 +0000 (13:15 +0200)]
Revert "Re-embed libgit2 0.25.1 due to the Debian testing freeze"

This reverts commit 46b4025df54bf7f3d48d6c1a2bc564c7b0e9854e.

7 years agoUpdated version 0.20.0 from 'upstream/0.20.0'
Vasudev Kamath [Sat, 22 Jul 2017 12:01:19 +0000 (17:31 +0530)]
Updated version 0.20.0 from 'upstream/0.20.0'

with Debian dir 53c89772334e8917391fa38462c14e600a1a4ffe

7 years agoNew upstream version 0.20.0
Vasudev Kamath [Sat, 22 Jul 2017 12:00:57 +0000 (17:30 +0530)]
New upstream version 0.20.0

7 years agoMark ar archive as unsuspicious
Vasudev Kamath [Sat, 22 Jul 2017 11:52:28 +0000 (17:22 +0530)]
Mark ar archive as unsuspicious

Not sure about this, it looks like these contains Windows object file
and needed by winapi crate.

7 years agoMark image and configure script unsuspicious.
Vasudev Kamath [Sat, 22 Jul 2017 11:51:44 +0000 (17:21 +0530)]
Mark image and configure script unsuspicious.

7 years agoMark test data as unsuspicious.
Vasudev Kamath [Sat, 22 Jul 2017 11:51:27 +0000 (17:21 +0530)]
Mark test data as unsuspicious.

7 years agoUpdate clean-cargo-deps.patch for 0.20.0
Vasudev Kamath [Sat, 22 Jul 2017 11:49:04 +0000 (17:19 +0530)]
Update clean-cargo-deps.patch for 0.20.0

7 years agoAuto merge of #4281 - alexcrichton:backport3, r=alexcrichton
bors [Thu, 13 Jul 2017 13:56:56 +0000 (13:56 +0000)]
Auto merge of #4281 - alexcrichton:backport3, r=alexcrichton

[beta] Don't push empty paths in LD_LIBRARY_PATH

Fixes #4277.

7 years agoDon't push empty paths in LD_LIBRARY_PATH
Matt Brubeck [Thu, 13 Jul 2017 03:28:39 +0000 (20:28 -0700)]
Don't push empty paths in LD_LIBRARY_PATH

Fixes #4277.

7 years agoAuto merge of #4276 - alexcrichton:revert2, r=alexcrichton
bors [Thu, 13 Jul 2017 04:19:23 +0000 (04:19 +0000)]
Auto merge of #4276 - alexcrichton:revert2, r=alexcrichton

[beta] Don't set MAKEFLAGS for build scripts

Closes #4156
Closes rust-lang/rust#42635

7 years agoLet two further tests tolerate col info in panics
est31 [Sun, 2 Jul 2017 13:38:29 +0000 (15:38 +0200)]
Let two further tests tolerate col info in panics

Needed by https://github.com/rust-lang/rust/pull/42938

I've now ripgrepped for "panicked at" and found no further
test that hardcodes the "filename:line$" format.

7 years agoassert_eq failure message now multi-line related to rust pull request 42541.
Giles Cope [Fri, 16 Jun 2017 07:40:05 +0000 (08:40 +0100)]
assert_eq failure message now multi-line related to rust pull request 42541.

7 years agoDon't set MAKEFLAGS for build scripts
Alex Crichton [Wed, 12 Jul 2017 21:15:56 +0000 (14:15 -0700)]
Don't set MAKEFLAGS for build scripts

Closes #4156
Closes rust-lang/rust#42635

7 years agoAuto merge of #4241 - Keruspe:rust-1.19.0, r=alexcrichton
bors [Sat, 1 Jul 2017 19:47:01 +0000 (19:47 +0000)]
Auto merge of #4241 - Keruspe:rust-1.19.0, r=alexcrichton

[beta] hash '__CARGO_DEFAULT_LIB_METADATA' in metadata for rustc

This is a backport of #4239 for beta

7 years agoPrep for asser_eq failure msg format change.
Giles Cope [Tue, 20 Jun 2017 22:14:15 +0000 (23:14 +0100)]
Prep for asser_eq failure msg format change.

7 years agoFixing test failure
Squirrel [Sun, 18 Jun 2017 21:03:06 +0000 (22:03 +0100)]
Fixing test failure

7 years agoMake test less brittle prior to assert_eq failure message format change
Squirrel [Fri, 16 Jun 2017 18:20:41 +0000 (19:20 +0100)]
Make test less brittle prior to assert_eq failure message format change

PR #42541 on Rust is to make assert_eq error message be multi-line. Before implementing this we need to make the current test less brittle.

7 years agohash '__CARGO_DEFAULT_LIB_METADATA' in metadata for rustc
Marc-Antoine Perennou [Thu, 15 Jun 2017 14:48:05 +0000 (16:48 +0200)]
hash '__CARGO_DEFAULT_LIB_METADATA' in metadata for rustc

This will let us seed the release channel as part of the
metadata used for the hash to avoid conflicting hashes across
channels.

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
7 years agoAuto merge of #4170 - alexcrichton:beta-next2, r=alexcrichton
bors [Wed, 14 Jun 2017 23:19:08 +0000 (23:19 +0000)]
Auto merge of #4170 - alexcrichton:beta-next2, r=alexcrichton

[beta] Preserve `package.metadata` when packaging

Now that we use Serde this is actually trivial to implement!

Closes #4142

7 years agoAuto merge of #4169 - alexcrichton:beta-next, r=alexcrichton
bors [Wed, 14 Jun 2017 22:13:38 +0000 (22:13 +0000)]
Auto merge of #4169 - alexcrichton:beta-next, r=alexcrichton

[beta] Hash `Kind` in metadata for crates

This fixes what is now a bug in Cargo discovered when attempting to land
rust-lang/rust#42495 where Cargo will compile both host and target artifacts
with the same `-C metadata` flag. This means that the compile can load two
crates with the same SVH that are supposed to be distinct, which causes weird
bugs with crate loading and whatnot.

This commit throws in the `Kind` into the metadata calculation to resolve this
to ensure that host/target artifacts always have a different `-C metadata`

7 years agoAuto merge of #4171 - alexcrichton:beta-next3, r=alexcrichton
bors [Wed, 14 Jun 2017 21:20:06 +0000 (21:20 +0000)]
Auto merge of #4171 - alexcrichton:beta-next3, r=alexcrichton

[beta] Update *-sys dependencies for MAKEFLAGS changes

Selective backport of a few updates from #4163

7 years agoUpdate *-sys dependencies for MAKEFLAGS changes
Alex Crichton [Wed, 14 Jun 2017 21:17:13 +0000 (14:17 -0700)]
Update *-sys dependencies for MAKEFLAGS changes

Selective backport of a few updates from #4163

7 years agoPreserve `package.metadata` when packaging
Alex Crichton [Wed, 14 Jun 2017 14:56:40 +0000 (07:56 -0700)]
Preserve `package.metadata` when packaging

Now that we use Serde this is actually trivial to implement!

Closes #4142

7 years agoHash `Kind` in metadata for crates
Alex Crichton [Wed, 14 Jun 2017 18:16:24 +0000 (11:16 -0700)]
Hash `Kind` in metadata for crates

This fixes what is now a bug in Cargo discovered when attempting to land
rust-lang/rust#42495 where Cargo will compile both host and target artifacts
with the same `-C metadata` flag. This means that the compile can load two
crates with the same SVH that are supposed to be distinct, which causes weird
bugs with crate loading and whatnot.

This commit throws in the `Kind` into the metadata calculation to resolve this
to ensure that host/target artifacts always have a different `-C metadata`

7 years agoAuto merge of #4148 - Keruspe:rust-1.19.0, r=alexcrichton
bors [Thu, 8 Jun 2017 20:03:10 +0000 (20:03 +0000)]
Auto merge of #4148 - Keruspe:rust-1.19.0, r=alexcrichton

Include rustc version in metadata

This is a backport of #4139 for rust 1.19

7 years agoFix tests on beta
Alex Crichton [Wed, 7 Jun 2017 15:37:50 +0000 (08:37 -0700)]
Fix tests on beta

Had a few usages of `-Z` leak out of the nightly channel.

7 years agoupdate git2
Marc-Antoine Perennou [Wed, 7 Jun 2017 19:35:27 +0000 (21:35 +0200)]
update git2

Fixes build with libressl

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
7 years agoInclude rustc version in metadata
Marc-Antoine Perennou [Wed, 7 Jun 2017 15:53:23 +0000 (17:53 +0200)]
Include rustc version in metadata

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
7 years agoAuto merge of #4126 - malbarbo:bump-jobserver, r=alexcrichton
bors [Mon, 5 Jun 2017 17:16:58 +0000 (17:16 +0000)]
Auto merge of #4126 - malbarbo:bump-jobserver, r=alexcrichton

Bump jobserver to 0.1.4

7 years agoBump jobserver to 0.1.4
Marco A L Barbosa [Mon, 5 Jun 2017 17:15:40 +0000 (14:15 -0300)]
Bump jobserver to 0.1.4

7 years agoAuto merge of #4118 - alexcrichton:hamt, r=matklad
bors [Mon, 5 Jun 2017 14:49:59 +0000 (14:49 +0000)]
Auto merge of #4118 - alexcrichton:hamt, r=matklad

Optimize a slew of Cargo internals

Cargo has historically had very little optimization applied to it. Despite that it's pretty speedy today but there's always a desire to be faster! I've noticed Cargo being particularly sluggish on projects like Servo and rust-lang/rust, so I started profiling and found quite a few low-hanging fruit!

This PR is a slew of optimizations across Cargo for various things found here and there. The banner optimizations are:

* Resolution with a lock file should be basically a noop in terms of execution time now. An optimization was done to avoid cloning `Context` unless necessary, and that basically means it doesn't get cloned now! As the number 1 source of slowdown in Cargo this is the biggest improvement.
* Lots of pieces in `resolve` are now `Rc<T>` for being more easily cloneable.
* `Summary` now internally contains an `Rc` like `Dependency`, making it much more quickly cloneable.
* `Registry` as a trait no longer returns a `Vec` but rather takes a closure to yield summaries up, removing lots of intermediate arrays.
* We no longer spawn a thread for all units of "fresh work", only when we're about to spawn a process.

Almost everything here was guided through profiling `./x.py build` on rust-lang/rust or `cargo build -p log` on Servo. Both of these stress "noop resolution" and the former also stresses noop builds.

Runs of `./x.py build` dropped from 4 to 2 seconds (with lots of low-hanging fruit still remaining in Cargo itself) and `cargo build -p log` dropped from 1.5s to 0.3s. Massif graphs showing Cargo's memory usage also show that the peak memory usage of Cargo in a noop build of Servo dropped from 300MB to 30MB during resolution.

I'm hoping that none of these optimizations makes the code less readable and/or understandable. There are no algorithmic improvements in this PR other than those transitively picked up by making clones cheaper and/or allocating less.

7 years agoFix tests
Alex Crichton [Mon, 5 Jun 2017 14:44:16 +0000 (07:44 -0700)]
Fix tests

7 years agoRemove the RefCell from `PackageRegistry`
Alex Crichton [Mon, 5 Jun 2017 14:22:38 +0000 (07:22 -0700)]
Remove the RefCell from `PackageRegistry`

Some choice refactoring makes it no longer necessary!

7 years agoComment about `Clone` on Context
Alex Crichton [Sat, 3 Jun 2017 18:11:22 +0000 (11:11 -0700)]
Comment about `Clone` on Context

7 years agoType alias `activations` to consolidate definition
Alex Crichton [Sat, 3 Jun 2017 18:03:12 +0000 (11:03 -0700)]
Type alias `activations` to consolidate definition

Avoids duplicating tons of maps!

7 years agoRemove stray Registry impls
Alex Crichton [Sat, 3 Jun 2017 18:02:14 +0000 (11:02 -0700)]
Remove stray Registry impls

They're basically barely used now anyway.

7 years agoAvoid stack overflow when dropping RcList
Alex Crichton [Sat, 3 Jun 2017 00:25:33 +0000 (17:25 -0700)]
Avoid stack overflow when dropping RcList

Turn recursion into a loop

7 years agoRemove `Clone` for a struct we don't want cloned
Alex Crichton [Sat, 3 Jun 2017 00:18:06 +0000 (17:18 -0700)]
Remove `Clone` for a struct we don't want cloned

It's super expensive to clone a `Resolve` and the resolution implementation no
longer needs to do so, let's remove the impl.

7 years agoReorganize `PackageRegistry::query` a bit
Alex Crichton [Sat, 3 Jun 2017 00:17:24 +0000 (17:17 -0700)]
Reorganize `PackageRegistry::query` a bit

Less branches and more intuitive flow.

7 years agoRemove DependencyInner as a public API
Alex Crichton [Sat, 3 Jun 2017 00:13:52 +0000 (17:13 -0700)]
Remove DependencyInner as a public API

No need for it to be exposed any more, let's just use `Rc::make_mut`
judiciously.

7 years agoCache `Context::target_filenames`
Alex Crichton [Fri, 2 Jun 2017 16:31:44 +0000 (09:31 -0700)]
Cache `Context::target_filenames`

Relatively expensive to calculate, never changes, easy to add a cache!

7 years agoDon't spawn threads for fresh work
Alex Crichton [Fri, 2 Jun 2017 16:15:11 +0000 (09:15 -0700)]
Don't spawn threads for fresh work

On "fresh" builds this ends up just wasting a lot of time!

7 years agoRemove more allocatoins in index querying
Alex Crichton [Fri, 2 Jun 2017 15:58:08 +0000 (08:58 -0700)]
Remove more allocatoins in index querying

Removing some allocations arounds the stored hashes by having nested hash maps
instead of tuple keys. Also remove an intermediate array when parsing
dependencies through a custom implementation of `Deserialize`. While this
doesn't make this code path blazingly fast it definitely knocks it down in the
profiles below other higher-value targets.

7 years agoCut down allocations in Display impls
Alex Crichton [Fri, 2 Jun 2017 14:21:50 +0000 (07:21 -0700)]
Cut down allocations in Display impls

Avoid unnecessary `String` allocations in hot paths that get run a lot for large
graphs.

7 years agoOptimize allocations in the registry index
Alex Crichton [Fri, 2 Jun 2017 13:57:43 +0000 (06:57 -0700)]
Optimize allocations in the registry index

Avoid some unnecessary clones, `to_vec`, etc. Not super optimizal but improves
the profile here regardless.

7 years agoOptimize the interface of `Registry`.
Alex Crichton [Fri, 2 Jun 2017 05:33:02 +0000 (22:33 -0700)]
Optimize the interface of `Registry`.

Previously all intermediate stages would create and return `Vec<Summary>`, but
this is a pretty costly operation once you start layering. Ideally we'd use an
iterator-based approach here but working with that in trait objects is
difficult, so this commit takes a closure-based approach to avoid all the
intermediate allocations that are thrown away.

7 years agoTry to not allocate when decoding registry json
Alex Crichton [Fri, 2 Jun 2017 14:00:17 +0000 (07:00 -0700)]
Try to not allocate when decoding registry json

There's a few keys we don't need owned versions of, so try using Serde's
zero-copy deserialization where we can.

7 years agoUse `Rc::make_mut` in `Dependency`
Alex Crichton [Fri, 2 Jun 2017 13:59:16 +0000 (06:59 -0700)]
Use `Rc::make_mut` in `Dependency`

Follow the same pattern with `Summary`

7 years agoMake `Summary::clone` cheap with an inner `Rc`
Alex Crichton [Fri, 2 Jun 2017 13:59:04 +0000 (06:59 -0700)]
Make `Summary::clone` cheap with an inner `Rc`

This already happens in a few other places in Cargo (e.g. `Dependency`) and
`Summary` cloning turned up high in the profile, so let's make it cheaper.

7 years agoOptimize resolution by removing allocations
Alex Crichton [Fri, 4 Nov 2016 00:18:48 +0000 (17:18 -0700)]
Optimize resolution by removing allocations

This commit is a relatively serious optimization pass of the resolution phase in
Cargo, targeted at removing as many allocations as possible from this phase.
Executed as an iterative loop this phase of Cargo can often be costly for large
graphs but it's run on every single build!

The main optimization here is to avoid cloning the context and/or pushing a
backtracking frame if there are no candidates left in the current list of
candidates. That optimizes a fast-path for crates with lock files (almost all of
them) and gets us to the point where cloning the context basically disappears
from all profiling.

7 years agoAuto merge of #4119 - fabricedesre:patch-1, r=alexcrichton
bors [Sat, 3 Jun 2017 17:54:43 +0000 (17:54 +0000)]
Auto merge of #4119 - fabricedesre:patch-1, r=alexcrichton

Fix typo in argument name.

7 years agoFix typo in argument name.
Fabrice Desré [Sat, 3 Jun 2017 01:51:09 +0000 (18:51 -0700)]
Fix typo in argument name.

7 years agoAuto merge of #4110 - alexcrichton:jobserver, r=matklad
bors [Fri, 2 Jun 2017 22:53:36 +0000 (22:53 +0000)]
Auto merge of #4110 - alexcrichton:jobserver, r=matklad

Add a GNU make jobserver implementation to Cargo

This commit adds a GNU make jobserver implementation to Cargo, both as a client
of existing jobservers and also a creator of new jobservers. The jobserver is
actually just an IPC semaphore which manifests itself as a pipe with N bytes
of tokens on Unix and a literal IPC semaphore on Windows. The rough protocol
is then if you want to run a job you read acquire the semaphore (read a byte on
Unix or wait on the semaphore on Windows) and then you release it when you're
done.

All the hairy details of the jobserver implementation are housed in the
`jobserver` crate on crates.io instead of Cargo. This should hopefully make it
much easier for the compiler to also share a jobserver implementation
eventually.

The main tricky bit here is that on Unix and Windows acquiring a jobserver token
will block the calling thread. We need to either way for a running job to exit
or to acquire a new token when we want to spawn a new job. To handle this the
current implementation spawns a helper thread that does the blocking and sends a
message back to Cargo when it receives a token. It's a little trickier with
shutting down this thread gracefully as well but more details can be found in
the `jobserver` crate.

Unfortunately crates are unlikely to see an immediate benefit of this once
implemented. Most crates are run with a manual `make -jN` and this overrides the
jobserver in the environment, creating a new jobserver in the sub-make. If the
`-jN` argument is removed, however, then `make` will share Cargo's jobserver and
properly limit parallelism.

Closes #1744

7 years agoAdd a GNU make jobserver implementation to Cargo
Alex Crichton [Tue, 30 May 2017 04:09:53 +0000 (21:09 -0700)]
Add a GNU make jobserver implementation to Cargo

This commit adds a GNU make jobserver implementation to Cargo, both as a client
of existing jobservers and also a creator of new jobservers. The jobserver is
actually just an IPC semaphore which manifests itself as a pipe with N bytes
of tokens on Unix and a literal IPC semaphore on Windows. The rough protocol
is then if you want to run a job you read acquire the semaphore (read a byte on
Unix or wait on the semaphore on Windows) and then you release it when you're
done.

All the hairy details of the jobserver implementation are housed in the
`jobserver` crate on crates.io instead of Cargo. This should hopefully make it
much easier for the compiler to also share a jobserver implementation
eventually.

The main tricky bit here is that on Unix and Windows acquiring a jobserver token
will block the calling thread. We need to either way for a running job to exit
or to acquire a new token when we want to spawn a new job. To handle this the
current implementation spawns a helper thread that does the blocking and sends a
message back to Cargo when it receives a token. It's a little trickier with
shutting down this thread gracefully as well but more details can be found in
the `jobserver` crate.

Unfortunately crates are unlikely to see an immediate benefit of this once
implemented. Most crates are run with a manual `make -jN` and this overrides the
jobserver in the environment, creating a new jobserver in the sub-make. If the
`-jN` argument is removed, however, then `make` will share Cargo's jobserver and
properly limit parallelism.

Closes #1744

7 years agoAuto merge of #4117 - brson:vs2017, r=alexcrichton
bors [Thu, 1 Jun 2017 22:20:28 +0000 (22:20 +0000)]
Auto merge of #4117 - brson:vs2017, r=alexcrichton

Update gcc crate for MSVC 2017

This is just a slightly more correct version of the gcc crate, but shouldn't have any practical changes.

7 years agoAuto merge of #4116 - alexcrichton:enotsupp, r=Mark-Simulacrum
bors [Thu, 1 Jun 2017 21:07:58 +0000 (21:07 +0000)]
Auto merge of #4116 - alexcrichton:enotsupp, r=Mark-Simulacrum

Ignore ENOTSUP in file locking on Linux too

Apparently there are some filesystems that return this!

Closes #4096

7 years agoUpdate gcc crate for MSVC 2017
Brian Anderson [Thu, 1 Jun 2017 21:01:17 +0000 (21:01 +0000)]
Update gcc crate for MSVC 2017

7 years agoIgnore ENOTSUP in file locking on Linux too
Alex Crichton [Thu, 1 Jun 2017 19:24:51 +0000 (12:24 -0700)]
Ignore ENOTSUP in file locking on Linux too

Apparently there are some filesystems that return this!

Closes #4096

7 years agoAuto merge of #4038 - nisargthakkar:newBadgesAdd, r=alexcrichton
bors [Thu, 1 Jun 2017 16:53:07 +0000 (16:53 +0000)]
Auto merge of #4038 - nisargthakkar:newBadgesAdd, r=alexcrichton

Updating doc to reflect new badges added

The badges added are:
Is it maintained: Resolution time
Is it maintained: Percentage of open issues
Codecov: Code coverage
Coveralls: Code coverage

7 years agoAuto merge of #4090 - jluner:master, r=alexcrichton
bors [Wed, 31 May 2017 22:51:31 +0000 (22:51 +0000)]
Auto merge of #4090 - jluner:master, r=alexcrichton

Add error-chain errors.

Fixes #4209

Convert CargoResult, CargoError into an implementation provided by error-chain. The previous is_human machinery is mostly removed; now errors are displayed unless of the Internal kind, verbose mode will print all errors.

7 years agoAuto merge of #4113 - alexcrichton:trim-travis, r=alexcrichton
bors [Wed, 31 May 2017 21:23:36 +0000 (21:23 +0000)]
Auto merge of #4113 - alexcrichton:trim-travis, r=alexcrichton

Remove lots of dated configuration from this repo

Lots of data build stuff is still here from awhile ago when this repo was
producing Cargo binaries, but the rust-lang/rust repo is now responsible for all
these binaries and build configurations. We no longer need to produce artifacts
or have tons of cross-compiles as rust-lang/rust does all that work, instead
let's just test the likely-to-regress platforms and have rust-lang/rust take
care of the rest.

This commit:

* Deletes the old `configure` script and `Makefile`
* Rewrites `src/doc` management as a shell script
* Trims down Travis/AppVeyor configuration

7 years agoRemove lots of dated configuration from this repo
Alex Crichton [Wed, 31 May 2017 19:55:47 +0000 (12:55 -0700)]
Remove lots of dated configuration from this repo

Lots of data build stuff is still here from awhile ago when this repo was
producing Cargo binaries, but the rust-lang/rust repo is now responsible for all
these binaries and build configurations. We no longer need to produce artifacts
or have tons of cross-compiles as rust-lang/rust does all that work, instead
let's just test the likely-to-regress platforms and have rust-lang/rust take
care of the rest.

This commit:

* Deletes the old `configure` script and `Makefile`
* Rewrites `src/doc` management as a shell script
* Trims down Travis/AppVeyor configuration

7 years agoFixes review comments
jluner [Wed, 31 May 2017 03:15:07 +0000 (22:15 -0500)]
Fixes review comments

Fix some formatting items.
Changes Internal error kind to preserve the original error.
Changes network retry logic to inspect full error chain for spurious
errors.

7 years agoRestore macro_use
jluner [Sun, 28 May 2017 15:13:59 +0000 (10:13 -0500)]
Restore macro_use

7 years agoResolve upstream updates to referenced crates
jluner [Sun, 28 May 2017 04:50:55 +0000 (23:50 -0500)]
Resolve upstream updates to referenced crates

7 years agoMerge remote-tracking branch 'upstream/master'
jluner [Sun, 28 May 2017 03:27:59 +0000 (22:27 -0500)]
Merge remote-tracking branch 'upstream/master'

7 years agoFix formatting issue blocking build
jluner [Sun, 28 May 2017 03:24:40 +0000 (22:24 -0500)]
Fix formatting issue blocking build

7 years agoAuto merge of #4107 - alexcrichton:update-deps, r=alexcrichton
bors [Sun, 28 May 2017 01:02:13 +0000 (01:02 +0000)]
Auto merge of #4107 - alexcrichton:update-deps, r=alexcrichton

Update a slew of dependencies and such

Standard bug fixes and otherwise keeping up to date

7 years agoUpdate a slew of dependencies and such
Alex Crichton [Sat, 27 May 2017 23:42:10 +0000 (16:42 -0700)]
Update a slew of dependencies and such

Standard bug fixes and otherwise keeping up to date

7 years agoAuto merge of #4031 - torkleyy:exclude, r=alexcrichton
bors [Sat, 27 May 2017 23:36:45 +0000 (23:36 +0000)]
Auto merge of #4031 - torkleyy:exclude, r=alexcrichton

Add --exclude flag

Allows to exclude packages in conjunction
with --all.

Addresses #2878

7 years agoFix build_all_exclude
torkleyy [Tue, 16 May 2017 17:44:05 +0000 (19:44 +0200)]
Fix build_all_exclude

by using with_stderr_contains because
parallel build may mix up the lines.

Additionally, remove the last line of
the benchmark.

7 years agoAdd tests for --exclude
torkleyy [Fri, 12 May 2017 13:44:15 +0000 (15:44 +0200)]
Add tests for --exclude

7 years agoAdd exclude flag to bench, check and test
torkleyy [Fri, 12 May 2017 13:05:28 +0000 (15:05 +0200)]
Add exclude flag to bench, check and test

7 years agoMove package flag handling into cargo_compile
torkleyy [Fri, 12 May 2017 12:16:48 +0000 (14:16 +0200)]
Move package flag handling into cargo_compile

7 years agoAdd --exclude flag
torkleyy [Thu, 11 May 2017 18:47:48 +0000 (20:47 +0200)]
Add --exclude flag

Allows to exclude packages in conjunction
with --all.

7 years agoUpdate gcc dependency to match updated gcc elsewhere in cargo
jluner [Sat, 27 May 2017 07:37:10 +0000 (02:37 -0500)]
Update gcc dependency to match updated gcc elsewhere in cargo

7 years agoMerge remote-tracking branch 'upstream/master'
jluner [Sat, 27 May 2017 07:29:15 +0000 (02:29 -0500)]
Merge remote-tracking branch 'upstream/master'

7 years agoFix failing tests
jluner [Sat, 27 May 2017 07:21:48 +0000 (02:21 -0500)]
Fix failing tests

7 years agoAuto merge of #4103 - brson:vs2017, r=alexcrichton
bors [Fri, 26 May 2017 17:30:08 +0000 (17:30 +0000)]
Auto merge of #4103 - brson:vs2017, r=alexcrichton

Update lockfile for gcc and cmake crates to pick up MSVC 2017 fixes

Seems to work.

7 years agoUpdate lockfile for gcc and cmake crates to pick up MSVC 2017 fixes
Brian Anderson [Thu, 25 May 2017 18:58:47 +0000 (18:58 +0000)]
Update lockfile for gcc and cmake crates to pick up MSVC 2017 fixes

7 years agoAuto merge of #4105 - birkenfeld:master, r=alexcrichton
bors [Fri, 26 May 2017 14:05:10 +0000 (14:05 +0000)]
Auto merge of #4105 - birkenfeld:master, r=alexcrichton

Do not output "Blocking - waiting for lock" with -q

This is not an error, so it should not be printed unconditionally
to stderr.  Since it can appear intermittently (e.g. due to editor
integration calling build every now and then) it will disturb
things that expect exact output from cargo (e.g. test suites).

7 years agoDo not output "Blocking - waiting for lock" with -q
Georg Brandl [Fri, 26 May 2017 08:07:29 +0000 (10:07 +0200)]
Do not output "Blocking - waiting for lock" with -q

This is not an error, so it should not be printed unconditionally
to stderr.  Since it can appear intermittently (e.g. due to editor
integration calling build every now and then) it will disturb
things that expect exact output from cargo (e.g. test suites).

7 years agoAuto merge of #4099 - matklad:ignore-root-target, r=alexcrichton
bors [Thu, 25 May 2017 16:50:10 +0000 (16:50 +0000)]
Auto merge of #4099 - matklad:ignore-root-target, r=alexcrichton

Ignore only root target directory

r? @alexcrichton

7 years agoIgnore only root target directory
Aleksey Kladov [Thu, 25 May 2017 16:47:15 +0000 (19:47 +0300)]
Ignore only root target directory

We used to ignore all target directories, because it was common to
have multiple packages with different target directories in a single
repository. Now, when workspaces are here, such setups usually have a
single target, and we can .gitignore only it. It's useful because
sometimes you want to have a module named `target` in Rust.

If you use non-workspaced multi-package setup, you can create a
.gitignore with `/target/` for each package.

7 years agoAddresses review comments
jluner [Thu, 25 May 2017 04:45:14 +0000 (23:45 -0500)]
Addresses review comments

* rebased
* removed `human` (deferring removing `internal` to a later PR)
* cargo_test.rs - fails on other error kinds
* unnecessary `map_err(CargoError::from)` removed
* fold NetworkError entirely into CargoError
* added justification comment for `extend_lifetime`
* various formatting goofs

The following tests are currently failing:
* `http_auth_offered`
* `custom_build_script_failed`
* `build_deps_for_the_right_arch`
* `dep_with_bad_submodule`
* `update_with_shared_deps`
* `finds_author_email`
* `finds_author_user`
* `finds_author_user_escaped`
* `finds_author_username`
* `finds_git_author`
* `exit_code`

7 years agoAuto merge of #4098 - callahad:remove-superfluous-semis, r=alexcrichton
bors [Thu, 25 May 2017 03:05:53 +0000 (03:05 +0000)]
Auto merge of #4098 - callahad:remove-superfluous-semis, r=alexcrichton

Remove superfluous `;;` sequences

Per @Mark-Simulacrum's request in https://github.com/rust-lang/rust/pull/42215#issuecomment-303908683

7 years agoRemove superfluous `;;` sequences
Dan Callahan [Thu, 25 May 2017 03:01:02 +0000 (22:01 -0500)]
Remove superfluous `;;` sequences

7 years agoMerge branch 'master' of https://github.com/jluner/cargo
jluner [Thu, 25 May 2017 02:15:22 +0000 (21:15 -0500)]
Merge branch 'master' of https://github.com/jluner/cargo

7 years agoAdd error-chain errors
jluner [Wed, 24 May 2017 04:35:54 +0000 (23:35 -0500)]
Add error-chain errors

Convert CargoResult, CargoError into an implementation provided by error-chain. The previous is_human machinery is mostly removed; now errors are displayed unless of the Internal kind, verbose mode will print all errors.

7 years agoAuto merge of #4088 - Nemikolh:buildscript-stderr, r=alexcrichton
bors [Wed, 24 May 2017 15:46:58 +0000 (15:46 +0000)]
Auto merge of #4088 - Nemikolh:buildscript-stderr, r=alexcrichton

Write stderr output from build-scripts next to stdout output

Closes #3462.

Please let me know if you want to change the file name for the error output. I originally thought that `stdout` and `stderr` would have been nice but I'm worried that changing `output` to `stdout` would cause breakage. So I choose the more conservative route.

7 years agoAdd error-chain errors
jluner [Wed, 24 May 2017 04:35:54 +0000 (23:35 -0500)]
Add error-chain errors

Convert CargoResult, CargoError into an implementation provided by error-chain. The previous is_human machinery is mostly removed; now errors are displayed unless of the Internal kind, verbose mode will print all errors.