]> git.proxmox.com Git - cargo.git/log
cargo.git
10 years agoBetter fix for tests on the Mac builders
Matt Brubeck [Sat, 13 Sep 2014 01:05:10 +0000 (18:05 -0700)]
Better fix for tests on the Mac builders

10 years agoFix tests on Mac builders
Matt Brubeck [Fri, 12 Sep 2014 16:22:02 +0000 (09:22 -0700)]
Fix tests on Mac builders

Comparing URIs in /tmp was failing because of symlinks.

10 years agoTest for build command fingerprints in path deps
Matt Brubeck [Thu, 11 Sep 2014 22:42:46 +0000 (15:42 -0700)]
Test for build command fingerprints in path deps

This tests the fix for list_files_walk from #561.

10 years agoFix bug in list_file_walk when cwd != path
Matt Brubeck [Thu, 11 Sep 2014 19:00:11 +0000 (12:00 -0700)]
Fix bug in list_file_walk when cwd != path

Previously this was calling .is_file() on a relative path.  This would fail if
the path was not relative to the current working directory, for example when
fingerprinting a path dependency.

10 years agoauto merge of #564 : EduardoBautista/cargo/contributing-to-docs, r=alexcrichton
bors [Fri, 12 Sep 2014 01:13:57 +0000 (01:13 +0000)]
auto merge of #564 : EduardoBautista/cargo/contributing-to-docs, r=alexcrichton

The docs are now in the main cargo repository.

10 years agoauto merge of #568 : mbrubeck/cargo/dist-fix, r=alexcrichton
bors [Thu, 11 Sep 2014 23:43:55 +0000 (23:43 +0000)]
auto merge of #568 : mbrubeck/cargo/dist-fix, r=alexcrichton

Fixes a regression from #559.

10 years agoFix `make dist` and distcheck breakage
Matt Brubeck [Thu, 11 Sep 2014 23:00:29 +0000 (16:00 -0700)]
Fix `make dist` and distcheck breakage

Fixes a regression from #559.

10 years agoauto merge of #567 : EduardoBautista/cargo/fix-centering-on-safari, r=alexcrichton
bors [Thu, 11 Sep 2014 22:58:54 +0000 (22:58 +0000)]
auto merge of #567 : EduardoBautista/cargo/fix-centering-on-safari, r=alexcrichton

The website is not centered in Safari.

10 years agoCenter main content in Safari
Eduardo Bautista [Thu, 11 Sep 2014 21:39:04 +0000 (16:39 -0500)]
Center main content in Safari

10 years agoauto merge of #555 : alexcrichton/cargo/issue-215, r=brson
bors [Thu, 11 Sep 2014 21:28:53 +0000 (21:28 +0000)]
auto merge of #555 : alexcrichton/cargo/issue-215, r=brson

Also print the commands only right before they're actually run.

Closes #215

10 years agoUpdate "Contributing to the Docs"
Eduardo Bautista [Thu, 11 Sep 2014 21:12:26 +0000 (16:12 -0500)]
Update "Contributing to the Docs"

10 years agoauto merge of #562 : alexcrichton/cargo/win64, r=alexcrichton
bors [Thu, 11 Sep 2014 20:28:53 +0000 (20:28 +0000)]
auto merge of #562 : alexcrichton/cargo/win64, r=alexcrichton

10 years agoSwitch the URL from which nightlies are downloaded
Alex Crichton [Thu, 11 Sep 2014 19:56:08 +0000 (12:56 -0700)]
Switch the URL from which nightlies are downloaded

10 years agoMerge commit '314d47749a79d0382eea1b710456b038a1ac84c0' into win64
Alex Crichton [Thu, 11 Sep 2014 20:13:43 +0000 (13:13 -0700)]
Merge commit '314d47749a79d0382eea1b710456b038a1ac84c0' into win64

10 years agoAllows bootstrapping win64 from win32 snapshot.
Peter Atashian [Thu, 11 Sep 2014 18:26:22 +0000 (14:26 -0400)]
Allows bootstrapping win64 from win32 snapshot.
Remove triple = 'i686-pc-mingw32' once win64 snapshot is made.

Signed-off-by: Peter Atashian <retep998@gmail.com>
10 years agoauto merge of #559 : mbrubeck/cargo/make-install-fix, r=alexcrichton
bors [Thu, 11 Sep 2014 18:13:50 +0000 (18:13 +0000)]
auto merge of #559 : mbrubeck/cargo/make-install-fix, r=alexcrichton

This fixes an issue where `make dist` incorrectly does nothing after the source has changed and been rebuilt.  It also prevents `make install` from installing outdated files from the `dist` directory.

10 years agoAlways rebuild dist dir in "make dist" or install
Matt Brubeck [Thu, 11 Sep 2014 17:33:16 +0000 (10:33 -0700)]
Always rebuild dist dir in "make dist" or install

10 years agoauto merge of #554 : bkoropoff/cargo/update-git2, r=alexcrichton
bors [Thu, 11 Sep 2014 15:43:50 +0000 (15:43 +0000)]
auto merge of #554 : bkoropoff/cargo/update-git2, r=alexcrichton

This is pretty simple.  Do the existing unit tests sufficiently cover the git2-related changes?

10 years agoUpdate snapshots.txt
Brian Koropoff [Thu, 11 Sep 2014 15:28:08 +0000 (08:28 -0700)]
Update snapshots.txt

10 years agoDon't print `Running` for commands that aren't run
Alex Crichton [Thu, 11 Sep 2014 14:35:01 +0000 (07:35 -0700)]
Don't print `Running` for commands that aren't run

Also print the commands only right before they're actually run.

Closes #215

10 years agoFix obsolete `extern crate` syntax in some of the tests
Brian Koropoff [Thu, 11 Sep 2014 05:36:23 +0000 (22:36 -0700)]
Fix obsolete `extern crate` syntax in some of the tests

10 years agoFix build break by upgrading git2-rs
Brian Koropoff [Thu, 11 Sep 2014 05:29:14 +0000 (22:29 -0700)]
Fix build break by upgrading git2-rs

Update git2-rs to the latest version which includes a fix for `extern crate`
syntax changes.  This version changes the interface for credential callbacks,
so update the git source provider code as well.

10 years agoauto merge of #550 : alexcrichton/cargo/rustdoc, r=brson
bors [Wed, 10 Sep 2014 23:24:02 +0000 (23:24 +0000)]
auto merge of #550 : alexcrichton/cargo/rustdoc, r=brson

* All markdown files are now rendered with `rustdoc` into HTML
* A JS syntax highlighter, prism, is included for TOML syntax highlighting.
* A new makefile target, `make doc`, will build docs into `target/doc`

preview: http://people.mozilla.org/~acrichton/crates.io/doc/

Closes #524

10 years agoMove to rustdoc instead of ruby's middleman
Alex Crichton [Sun, 7 Sep 2014 17:53:20 +0000 (10:53 -0700)]
Move to rustdoc instead of ruby's middleman

* All markdown files are now rendered with `rustdoc` into HTML
* A JS syntax highlighter, prism, is included for TOML syntax highlighting.
* A new makefile target, `make doc`, will build docs into `target/doc`

10 years agoauto merge of #549 : alexcrichton/cargo/git-no-delete, r=brson
bors [Wed, 10 Sep 2014 18:27:54 +0000 (18:27 +0000)]
auto merge of #549 : alexcrichton/cargo/git-no-delete, r=brson

This primarily blows away all *submodules* as well, which sometimes can be quite
large and take some time to update. Instead, re-use an existing checkout, just
reset it to the right revision if possible.

Also, move the submodule update step to occur unconditionally to account for
corrupt submodule checkouts or interrupted downloads. This update step should be
much faster than `git submodule update` because we're using libgit2, so yay!

10 years agoauto merge of #548 : alexcrichton/cargo/frobbing-git-deps, r=brson
bors [Wed, 10 Sep 2014 18:03:21 +0000 (18:03 +0000)]
auto merge of #548 : alexcrichton/cargo/frobbing-git-deps, r=brson

The previous logic for recompiling any dependency was almost entirely based on
the mtimes of the relevant input files. This isn't quite what's desired for git
and registry dependencies because the mtime could be fluctuating while the files
aren't changing. For example:

1. Project A checks out git repo C at revision C1
2. Project A builds, records mtimes of C
3. Project B checks out git repo C at revision C2
4. Project B builds, records new mtimes of C
5. Project A is rebuilt, rebuilding C b/c mtimes are different

In step 5 here C should not be rebuilt because the revision didn't actually
change.

This commit alters git/registry dependencies to completely bypass the --dep-info
emitted and only rely on the git/registry source to inform what the fingerprint
is. This is the revision/version, respectively, and should be all that's
necessary to track changes to the repo and trigger a rebuild.

10 years agoauto merge of #547 : alexcrichton/cargo/git2-for-package, r=brson
bors [Wed, 10 Sep 2014 17:43:52 +0000 (17:43 +0000)]
auto merge of #547 : alexcrichton/cargo/git2-for-package, r=brson

One forgotten spot to modify when migrating from the CLI to libgit2

10 years agoauto merge of #542 : alexcrichton/cargo/issue-539, r=brson
bors [Wed, 10 Sep 2014 16:58:51 +0000 (16:58 +0000)]
auto merge of #542 : alexcrichton/cargo/issue-539, r=brson

Closes #539

10 years agoDon't blow away checked out git repos
Alex Crichton [Wed, 10 Sep 2014 14:47:11 +0000 (07:47 -0700)]
Don't blow away checked out git repos

This primarily blows away all *submodules* as well, which sometimes can be quite
large and take some time to update. Instead, re-use an existing checkout, just
reset it to the right revision if possible.

Also, move the submodule update step to occur unconditionally to account for
corrupt submodule checkouts or interrupted downloads. This update step should be
much faster than `git submodule update` because we're using libgit2, so yay!

10 years agoDon't recompile git deps so frequently
Alex Crichton [Wed, 10 Sep 2014 14:26:42 +0000 (07:26 -0700)]
Don't recompile git deps so frequently

The previous logic for recompiling any dependency was almost entirely based on
the mtimes of the relevant input files. This isn't quite what's desired for git
and registry dependencies because the mtime could be fluctuating while the files
aren't changing. For example:

1. Project A checks out git repo C at revision C1
2. Project A builds, records mtimes of C
3. Project B checks out git repo C at revision C2
4. Project B builds, records new mtimes of C
5. Project A is rebuilt, rebuilding C b/c mtimes are different

In step 5 here C should not be rebuilt because the revision didn't actually
change.

This commit alters git/registry dependencies to completely bypass the --dep-info
emitted and only rely on the git/registry source to inform what the fingerprint
is. This is the revision/version, respectively, and should be all that's
necessary to track changes to the repo and trigger a rebuild.

10 years agoUse libgit2 for `git ls-files`
Alex Crichton [Wed, 10 Sep 2014 14:01:32 +0000 (07:01 -0700)]
Use libgit2 for `git ls-files`

One forgotten spot to modify when migrating from the CLI to libgit2

10 years agoauto merge of #546 : alexcrichton/cargo/docopt, r=huonw
bors [Wed, 10 Sep 2014 05:13:49 +0000 (05:13 +0000)]
auto merge of #546 : alexcrichton/cargo/docopt, r=huonw

10 years agoSwitch the location of the docopt repo
Alex Crichton [Wed, 10 Sep 2014 05:01:39 +0000 (22:01 -0700)]
Switch the location of the docopt repo

10 years agoauto merge of #543 : alexcrichton/cargo/doc-fixes, r=alexcrichton
bors [Tue, 9 Sep 2014 22:58:50 +0000 (22:58 +0000)]
auto merge of #543 : alexcrichton/cargo/doc-fixes, r=alexcrichton

10 years agoFix some minor typos
Alex Crichton [Tue, 9 Sep 2014 22:51:28 +0000 (15:51 -0700)]
Fix some minor typos

10 years agoAdd a NUM_JOBS env var to builds
Alex Crichton [Tue, 9 Sep 2014 22:01:31 +0000 (15:01 -0700)]
Add a NUM_JOBS env var to builds

Closes #539

10 years agoauto merge of #534 : alexcrichton/cargo/issue-525, r=brson
bors [Tue, 9 Sep 2014 19:43:46 +0000 (19:43 +0000)]
auto merge of #534 : alexcrichton/cargo/issue-525, r=brson

Closes #525

r? @wycats

10 years agoauto merge of #536 : superlogical/cargo/master, r=alexcrichton
bors [Tue, 9 Sep 2014 15:13:47 +0000 (15:13 +0000)]
auto merge of #536 : superlogical/cargo/master, r=alexcrichton

So that it compiles and works

10 years agoClarify why bins have Cargo.lock but libs don't
Alex Crichton [Mon, 8 Sep 2014 00:07:07 +0000 (17:07 -0700)]
Clarify why bins have Cargo.lock but libs don't

Closes #525

10 years agofix sample code to do with color-rs. Renamed HSV to Hsv and RGB to Rgb so that it...
jakescott [Tue, 9 Sep 2014 04:30:25 +0000 (16:30 +1200)]
fix sample code to do with color-rs. Renamed HSV to Hsv and RGB to Rgb so that it compiles and works

10 years agoauto merge of #528 : alexcrichton/cargo/deadlock, r=brson
bors [Tue, 9 Sep 2014 02:13:47 +0000 (02:13 +0000)]
auto merge of #528 : alexcrichton/cargo/deadlock, r=brson

10 years agoauto merge of #532 : alexcrichton/cargo/issue-530, r=brson
bors [Mon, 8 Sep 2014 22:28:48 +0000 (22:28 +0000)]
auto merge of #532 : alexcrichton/cargo/issue-530, r=brson

Closes #530

10 years agoauto merge of #529 : alexcrichton/cargo/msys2-build, r=brson
bors [Mon, 8 Sep 2014 21:28:50 +0000 (21:28 +0000)]
auto merge of #529 : alexcrichton/cargo/msys2-build, r=brson

10 years agoauto merge of #527 : alexcrichton/cargo/build-issues, r=brson
bors [Mon, 8 Sep 2014 19:28:52 +0000 (19:28 +0000)]
auto merge of #527 : alexcrichton/cargo/build-issues, r=brson

Related issues in the commits.

10 years agoauto merge of #516 : alexcrichton/cargo/issue-512, r=brson
bors [Mon, 8 Sep 2014 18:43:54 +0000 (18:43 +0000)]
auto merge of #516 : alexcrichton/cargo/issue-512, r=brson

Closes #512

10 years agoauto merge of #515 : alexcrichton/cargo/issue-472, r=brson
bors [Mon, 8 Sep 2014 17:58:56 +0000 (17:58 +0000)]
auto merge of #515 : alexcrichton/cargo/issue-472, r=brson

But still show it with --verbose

Closes #473

10 years agoMention the name of a package in a custom build failure
Alex Crichton [Sun, 7 Sep 2014 23:01:55 +0000 (16:01 -0700)]
Mention the name of a package in a custom build failure

Closes #530

10 years agoUpdate libssh2-static-sys to build on msys2
Alex Crichton [Sun, 7 Sep 2014 22:39:57 +0000 (15:39 -0700)]
Update libssh2-static-sys to build on msys2

10 years agoauto merge of #522 : EduardoBautista/cargo/update-docs, r=alexcrichton
bors [Sun, 7 Sep 2014 19:43:53 +0000 (19:43 +0000)]
auto merge of #522 : EduardoBautista/cargo/update-docs, r=alexcrichton

This PR will make the guide more generic in terms of directory paths and crate information.  It also
updates some outdated output.

10 years agoauto merge of #513 : bkoropoff/cargo/revert-static, r=alexcrichton
bors [Sun, 7 Sep 2014 18:58:58 +0000 (18:58 +0000)]
auto merge of #513 : bkoropoff/cargo/revert-static, r=alexcrichton

This reverts a commit that worked around an overly restrictive lifetime bound on the `Writer` impl for `Box<Writer>` in libstd.  Now that this restriction has been lifted, the workaround can be reverted.

10 years agoDon't deadlock when a dep has no libs
Alex Crichton [Sun, 7 Sep 2014 18:48:35 +0000 (11:48 -0700)]
Don't deadlock when a dep has no libs

10 years agoDon't run cargo as root during `make install`
Alex Crichton [Sun, 7 Sep 2014 18:26:07 +0000 (11:26 -0700)]
Don't run cargo as root during `make install`

This rejiggers the dependencies for `make install` to only copy files into the
destination, never assemble anything. This adds a hard requirement that `make`
is executed before `make install`.

Closes #519

10 years agoAdd a note about required build tools and packages
Alex Crichton [Sun, 7 Sep 2014 18:25:26 +0000 (11:25 -0700)]
Add a note about required build tools and packages

Closes #518

10 years agoUpdate output to match latest cargo build
Eduardo Bautista [Sun, 7 Sep 2014 04:39:18 +0000 (23:39 -0500)]
Update output to match latest cargo build

10 years agoMake docs more generic
Eduardo Bautista [Sun, 7 Sep 2014 04:38:28 +0000 (23:38 -0500)]
Make docs more generic

10 years agoRemove an outdated module
Alex Crichton [Fri, 5 Sep 2014 17:18:40 +0000 (10:18 -0700)]
Remove an outdated module

Closes #512

10 years agoDon't show `Fresh` by default
Alex Crichton [Fri, 5 Sep 2014 17:15:10 +0000 (10:15 -0700)]
Don't show `Fresh` by default

But still show it with --verbose

Closes #473

10 years agoauto merge of #503 : alexcrichton/cargo/issue-493, r=brson
bors [Fri, 5 Sep 2014 15:24:41 +0000 (15:24 +0000)]
auto merge of #503 : alexcrichton/cargo/issue-493, r=brson

This commit updates git2-rs to get the implementation of the authentication
callback in libgit2. Additionally this specifies the callback for whenever we're
cloning into the database or updating submodules.

Currently cargo will *not* ask for user input, but rather require you to have
authentication configured in git through some other means. There are currently
two primary methods of doing so:

1. Any SSH key in the local ssh-agent will be used for authentication with SSH
   repositories.
2. The `credential.helper` interface (as specified by gitcredential(7)) has been
   implemented in git2-rs to allow for picking up of storage of passwords in the
   local git cache or keychain.

If these two methods fail, then there will likely be an authentication failure.
Interactive prompts for authentication have not been implemented as there is no
method to currently enter your password into the terminal silently.

A consequence of this commit is that cargo now depends on libssh2. A package was
created to create a static copy of libssh2, and this is now linked into cargo by
default.

It turned out that just building libssh2 was quite a beast in and of itself on
windows. The primary stickler point is that on the current release, 1.4.3,
libssh2 requires openssl on windows. At this time I don't want to pick up a
dependency on openssl for windows, and it turned out that the unreleased 1.4.4
version has a new backend for windows not based on openssl, but rather windows's
cryptography API.

The current bundled version of libssh2 is 1.4.4 with some light modifications to
actually build on windows (wow that was hard). All in all, we're now statically
linking to libssh 1.4.4 (not a runtime dependency).

Closes #493

10 years agoImplement git authentication
Alex Crichton [Mon, 1 Sep 2014 06:03:45 +0000 (23:03 -0700)]
Implement git authentication

This commit updates git2-rs to get the implementation of the authentication
callback in libgit2. Additionally this specifies the callback for whenever we're
cloning into the database or updating submodules.

Currently cargo will *not* ask for user input, but rather require you to have
authentication configured in git through some other means. There are currently
two primary methods of doing so:

1. Any SSH key in the local ssh-agent will be used for authentication with SSH
   repositories.
2. The `credential.helper` interface (as specified by gitcredential(7)) has been
   implemented in git2-rs to allow for picking up of storage of passwords in the
   local git cache or keychain.

If these two methods fail, then there will likely be an authentication failure.
Interactive prompts for authentication have not been implemented as there is no
method to currently enter your password into the terminal silently.

A consequence of this commit is that cargo now depends on libssh2. A package was
created to create a static copy of libssh2, and this is now linked into cargo by
default.

It turned out that just building libssh2 was quite a beast in and of itself on
windows. The primary stickler point is that on the current release, 1.4.3,
libssh2 requires openssl on windows. At this time I don't want to pick up a
dependency on openssl for windows, and it turned out that the unreleased 1.4.4
version has a new backend for windows not based on openssl, but rather windows's
cryptography API.

The current bundled version of libssh2 is 1.4.4 with some light modifications to
actually build on windows (wow that was hard). All in all, we're now statically
linking to libssh 1.4.4 (not a runtime dependency).

Closes #493

10 years agoAdd back fix for cross compile tests
Brian Koropoff [Fri, 5 Sep 2014 08:15:11 +0000 (01:15 -0700)]
Add back fix for cross compile tests

This change was accidentally included in the reverted commit.

10 years agoRevert "Be compatible with the stdlib for now ('static shell)"
Brian Koropoff [Fri, 5 Sep 2014 07:18:44 +0000 (00:18 -0700)]
Revert "Be compatible with the stdlib for now ('static shell)"

This reverts commit a601d049feff5768b0d99b9fcec807b277fa4c81.

10 years agoauto merge of #505 : suhr/cargo/cargo-travis, r=alexcrichton
bors [Thu, 4 Sep 2014 13:47:05 +0000 (13:47 +0000)]
auto merge of #505 : suhr/cargo/cargo-travis, r=alexcrichton

This implements https://github.com/rust-lang/cargo/issues/489 and fast-fixes https://github.com/rust-lang/cargo/issues/504.

PS: why &* thing is now explicit? This change is rather surprising for me.

10 years agoMerge with upstream and update Cargo.lock
Сухарик [Thu, 4 Sep 2014 09:37:09 +0000 (13:37 +0400)]
Merge with upstream and update Cargo.lock

Conflicts:
src/bin/new.rs
src/cargo/ops/cargo_new.rs

10 years agocargo/new: add a test for the `--travis` flag
Сухарик [Thu, 4 Sep 2014 09:21:56 +0000 (13:21 +0400)]
cargo/new: add a test for the `--travis` flag

10 years agoRevert "cargo/new: add test for `--travis flag; also update Cargo.lock"
Сухарик [Thu, 4 Sep 2014 09:20:37 +0000 (13:20 +0400)]
Revert "cargo/new: add test for `--travis flag; also update Cargo.lock"

This reverts commit 4ee5fd352a0071f4200fe9f3dfa4aeebfe164c18.

10 years agoauto merge of #508 : carllerche/cargo/static-lib-and-bin-bug, r=alexcrichton
bors [Thu, 4 Sep 2014 03:57:39 +0000 (03:57 +0000)]
auto merge of #508 : carllerche/cargo/static-lib-and-bin-bug, r=alexcrichton

rustc cannot take .a files, so don't pass them

10 years agoDo not pass static lib targets to rustc
Carl Lerche [Thu, 4 Sep 2014 00:36:41 +0000 (17:36 -0700)]
Do not pass static lib targets to rustc

10 years agoauto merge of #474 : alexcrichton/cargo/issue-461, r=wycats
bors [Wed, 3 Sep 2014 22:20:06 +0000 (22:20 +0000)]
auto merge of #474 : alexcrichton/cargo/issue-461, r=wycats

Overrides are only queried by name, and it's possible for multiple to show up,
and just pick the first one.

Closes #461

r? @wycats -- I'm not convinced this is correct

10 years agoauto merge of #470 : alexcrichton/cargo/cargo-new-git, r=brson
bors [Wed, 3 Sep 2014 21:01:00 +0000 (21:01 +0000)]
auto merge of #470 : alexcrichton/cargo/cargo-new-git, r=brson

This adds a command-line --no-git option to disable this behavior, as well as
adding a global config section for `git = false`. While I was at it I write some
documentation for the configuration format that cargo uses.

10 years agoTurn --git on by default for `cargo-new`.
Alex Crichton [Thu, 28 Aug 2014 20:22:36 +0000 (13:22 -0700)]
Turn --git on by default for `cargo-new`.

This adds a command-line --no-git option to disable this behavior, as well as
adding a global config section for `git = false`. While I was at it I write some
documentation for the configuration format that cargo uses.

10 years agoauto merge of #507 : alexcrichton/cargo/profiles, r=brson
bors [Wed, 3 Sep 2014 20:13:56 +0000 (20:13 +0000)]
auto merge of #507 : alexcrichton/cargo/profiles, r=brson

For documentation, see the included documentation in the commit.

10 years agoRe-enable passing -g to rustc
Alex Crichton [Wed, 3 Sep 2014 18:54:47 +0000 (11:54 -0700)]
Re-enable passing -g to rustc

Now that there is a way to disable debuginfo for a build, we can go back to
passing it by default. Any bugs in debuginfo will get weeded out by specifying
`debug = false` in the profile.

10 years agoImplement manifest profiles
Alex Crichton [Wed, 3 Sep 2014 18:34:26 +0000 (11:34 -0700)]
Implement manifest profiles

For documentation, see the included documentation in the commit.

10 years agocargo/new: add test for `--travis flag; also update Cargo.lock
Сухарик [Wed, 3 Sep 2014 16:06:28 +0000 (20:06 +0400)]
cargo/new: add test for `--travis flag; also update Cargo.lock

10 years agoauto merge of #506 : alexcrichton/cargo/sooner-lockfile, r=wycats
bors [Wed, 3 Sep 2014 15:28:57 +0000 (15:28 +0000)]
auto merge of #506 : alexcrichton/cargo/sooner-lockfile, r=wycats

It's quite annoying if you update a dependency, but it takes you awhile to get
the dependency building. Previously the dependency graph would have to be
updated each time because the lockfile was only written *after* a successful
build.

Other tools like `cargo generate-lockfile` will already generate a lockfile at
any time, so just make it easier by moving it up in the compilation process.

10 years agoGenerate a lockfile sooner in `cargo build`
Alex Crichton [Wed, 3 Sep 2014 15:23:59 +0000 (08:23 -0700)]
Generate a lockfile sooner in `cargo build`

It's quite annoying if you update a dependency, but it takes you awhile to get
the dependency building. Previously the dependency graph would have to be
updated each time because the lockfile was only written *after* a successful
build.

Other tools like `cargo generate-lockfile` will already generate a lockfile at
any time, so just make it easier by moving it up in the compilation process.

10 years agoffix build on nightly rust
Сухарик [Wed, 3 Sep 2014 15:09:50 +0000 (19:09 +0400)]
ffix build on nightly rust

10 years agocargo/new: add `--travis` flag
Сухарик [Wed, 3 Sep 2014 15:09:05 +0000 (19:09 +0400)]
cargo/new: add `--travis` flag

10 years agoauto merge of #501 : alexcrichton/cargo/issue-480, r=brson
bors [Wed, 3 Sep 2014 05:22:14 +0000 (05:22 +0000)]
auto merge of #501 : alexcrichton/cargo/issue-480, r=brson

If a repository is corrupt, blow it away entirely and start from scratch instead
of returning an error.

Closes #480

10 years agoauto merge of #500 : alexcrichton/cargo/fix-flaky-test, r=brson
bors [Wed, 3 Sep 2014 04:38:30 +0000 (04:38 +0000)]
auto merge of #500 : alexcrichton/cargo/fix-flaky-test, r=brson

This test has been flaky on the bots for quite some time now, and the cause has
now been discovered. The root cause of the failure is that the execve for the
`cargo --list` command was failing with ETXTBUSY. In querying the manpage, this
means:

    Executable was open for writing by one or more processes.

This error can be explained by the following trace:

1. Thread A, running the `cargo --list` test, opens the destination executable
   for writing because it's copying the current executable into a different
   location.
2. Thread B, some other test, forks the process. The file descriptor of the
   destination executable of thread A is now duplicated in this process.
3. Thread A closes all files and such, and then goes to fork/exec
   `cargo --list`.
4. Thread B has not had time to close all its descriptors. so it still has the
   executable open for writing, causing the `execve` of thread A to fail.

This commit just removes these tested portions of the test, only testing that
cargo probes PATH.

10 years agoauto merge of #499 : alexcrichton/cargo/issue-486, r=brson
bors [Wed, 3 Sep 2014 04:03:09 +0000 (04:03 +0000)]
auto merge of #499 : alexcrichton/cargo/issue-486, r=brson

They're not really related to benchmarks!

Closes #486

10 years agoauto merge of #495 : alexcrichton/cargo/issue-492, r=brson
bors [Wed, 3 Sep 2014 03:49:07 +0000 (03:49 +0000)]
auto merge of #495 : alexcrichton/cargo/issue-492, r=brson

Closes #492

10 years agoauto merge of #475 : alexcrichton/cargo/issue-458, r=brson
bors [Wed, 3 Sep 2014 02:48:05 +0000 (02:48 +0000)]
auto merge of #475 : alexcrichton/cargo/issue-458, r=brson

Relative paths are now considered relative to the directory containing the
`.cargo/config` file specifying the relative path.

I also merge ConfigValueValue into ConfigValue by moving the Path directly next
to the String that defined it so we can track which strings came from which
paths.

Closes #458

10 years agoauto merge of #491 : alexcrichton/cargo/issue-481, r=brson
bors [Wed, 3 Sep 2014 02:29:02 +0000 (02:29 +0000)]
auto merge of #491 : alexcrichton/cargo/issue-481, r=brson

The return value of `err.output()` will be `None` if the rustdoc executable
failed to spawn, in which case we can give a more graceful error message.

Closes #481

10 years agoauto merge of #471 : alexcrichton/cargo/issue-449, r=brson
bors [Wed, 3 Sep 2014 01:30:36 +0000 (01:30 +0000)]
auto merge of #471 : alexcrichton/cargo/issue-449, r=brson

This is often useful for picking up things like headers files from `*-sys`
packages when they had to compile locally (or perhaps for pkg-config).

Closes #449

10 years agoauto merge of #469 : alexcrichton/cargo/issue-442, r=brson
bors [Wed, 3 Sep 2014 00:40:07 +0000 (00:40 +0000)]
auto merge of #469 : alexcrichton/cargo/issue-442, r=brson

Discovering the prefix/suffix needs to understand that it's not actually
available.

Closes #442

10 years agoPass native output directories of dependencies
Alex Crichton [Thu, 28 Aug 2014 20:47:25 +0000 (13:47 -0700)]
Pass native output directories of dependencies

This is often useful for picking up things like headers files from `*-sys`
packages when they had to compile locally (or perhaps for pkg-config).

Closes #449

10 years agoFix relative override paths
Alex Crichton [Fri, 29 Aug 2014 04:38:35 +0000 (21:38 -0700)]
Fix relative override paths

Relative paths are now considered relative to the directory containing the
`.cargo/config` file specifying the relative path.

I also merge ConfigValueValue into ConfigValue by moving the Path directly next
to the String that defined it so we can track which strings came from which
paths.

Closes #458

10 years agoDon't fail!() when rustdoc fails to run
Alex Crichton [Sun, 31 Aug 2014 06:19:38 +0000 (23:19 -0700)]
Don't fail!() when rustdoc fails to run

The return value of `err.output()` will be `None` if the rustdoc executable
failed to spawn, in which case we can give a more graceful error message.

Closes #481

10 years agoauto merge of #468 : alexcrichton/cargo/issue-404, r=brson
bors [Tue, 2 Sep 2014 23:29:07 +0000 (23:29 +0000)]
auto merge of #468 : alexcrichton/cargo/issue-404, r=brson

Whenever possible, try to print a short path by using path_relative_from.

Closes #404

10 years agoauto merge of #502 : alexcrichton/cargo/try-to-fix-travis, r=alexcrichton
bors [Tue, 2 Sep 2014 22:44:09 +0000 (22:44 +0000)]
auto merge of #502 : alexcrichton/cargo/try-to-fix-travis, r=alexcrichton

10 years agoFix the 32-bit linux travis bots
Alex Crichton [Tue, 2 Sep 2014 18:51:39 +0000 (11:51 -0700)]
Fix the 32-bit linux travis bots

10 years agoSlim down the `cargo --list` test
Alex Crichton [Tue, 2 Sep 2014 16:51:48 +0000 (09:51 -0700)]
Slim down the `cargo --list` test

This test has been flaky on the bots for quite some time now, and the cause has
now been discovered. The root cause of the failure is that the execve for the
`cargo --list` command was failing with ETXTBUSY. In querying the manpage, this
means:

    Executable was open for writing by one or more processes.

This error can be explained by the following trace:

1. Thread A, running the `cargo --list` test, opens the destination executable
   for writing because it's copying the current executable into a different
   location.
2. Thread B, some other test, forks the process. The file descriptor of the
   destination executable of thread A is now duplicated in this process.
3. Thread A closes all files and such, and then goes to fork/exec
   `cargo --list`.
4. Thread B has not had time to close all its descriptors. so it still has the
   executable open for writing, causing the `execve` of thread A to fail.

This commit just removes these tested portions of the test, only testing that
cargo probes PATH.

10 years agoDon't run doc tests for `cargo bench`
Alex Crichton [Tue, 2 Sep 2014 16:01:17 +0000 (09:01 -0700)]
Don't run doc tests for `cargo bench`

They're not really related to benchmarks!

Closes #486

10 years agoUpdate docopt to fix -- option parsing
Alex Crichton [Sun, 31 Aug 2014 20:22:09 +0000 (13:22 -0700)]
Update docopt to fix -- option parsing

Closes #492

10 years agoDedup overrides by name
Alex Crichton [Fri, 29 Aug 2014 03:38:19 +0000 (20:38 -0700)]
Dedup overrides by name

Overrides are only queried by name, and it's possible for multiple to show up,
and just pick the first one.

Closes #461

10 years agoSupport cross compiling to triples without dylibs
Alex Crichton [Thu, 28 Aug 2014 19:46:04 +0000 (12:46 -0700)]
Support cross compiling to triples without dylibs

Discovering the prefix/suffix needs to understand that it's not actually
available.

Closes #442

10 years agoPrint longer paths to Cargo.toml on failure
Alex Crichton [Thu, 28 Aug 2014 19:28:23 +0000 (12:28 -0700)]
Print longer paths to Cargo.toml on failure

Whenever possible, try to print a short path by using path_relative_from.

Closes #404

10 years agoBlow away corrupt database repos
Alex Crichton [Mon, 1 Sep 2014 06:15:11 +0000 (23:15 -0700)]
Blow away corrupt database repos

If a repository is corrupt, blow it away entirely and start from scratch instead
of returning an error.

10 years agoDon't use bundled fonts
Alex Crichton [Tue, 2 Sep 2014 17:30:20 +0000 (10:30 -0700)]
Don't use bundled fonts