Commit Graph

585 Commits

Author SHA1 Message Date
Alex Crichton
48aa82fd37 Update to rust master 2014-09-21 10:19:18 -07:00
bors
5e4c184b55 auto merge of #600 : alexcrichton/cargo/update-ssl, r=brson
This *should* help with #598, but I'd like to confirm that it's fixed with a
snapshot before marking it as fixed.
2014-09-19 00:58:38 +00:00
Alex Crichton
41248072bf Update openssl-static-sys for ubuntu 10.04
This *should* help with #598, but I'd like to confirm that it's fixed with a
snapshot before marking it as fixed.
2014-09-18 10:56:38 -07:00
Alex Crichton
773ae42666 Update git2-rs
This brings in a commit which enables global template options by default as part
of initializing new git repositories, allowing a templates to be used as part of
`cargo new`.

Closes #498
2014-09-18 08:51:00 -07:00
Alex Crichton
bead29861e Update the toml dependency 2014-09-17 06:52:40 -07:00
Alex Crichton
0bab4ab034 Update deps 2014-09-16 12:05:21 -07:00
Alex Crichton
a09ad635cc Update to rust master 2014-09-15 08:31:21 -07:00
Alex Crichton
f6934699ee Update all dependencies
This fixes some breaking changes with git2-rs, fixes a bug in tarball generation
from tar-rs, and fixes warnings with flate2-rs
2014-09-11 17:05:33 -07:00
Brian Koropoff
0b7dfeef6d 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.
2014-09-10 22:29:14 -07:00
Alex Crichton
929b61caae Switch the location of the docopt repo 2014-09-09 22:01:39 -07:00
Alex Crichton
39f23713ca Update libssh2-static-sys to build on msys2 2014-09-07 15:55:56 -07:00
Alex Crichton
219f9902c9 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
2014-09-05 07:25:56 -07:00
Сухарик
cc9ed63222 Merge with upstream and update Cargo.lock
Conflicts:
	src/bin/new.rs
	src/cargo/ops/cargo_new.rs
2014-09-04 13:37:09 +04:00
Сухарик
0600ffee91 Revert "cargo/new: add test for `--travis flag; also update Cargo.lock"
This reverts commit 4ee5fd352a.
2014-09-04 13:20:37 +04:00
Сухарик
4ee5fd352a cargo/new: add test for `--travis flag; also update Cargo.lock 2014-09-03 20:06:28 +04:00
Alex Crichton
d187620718 Update docopt to fix -- option parsing
Closes #492
2014-09-02 11:48:51 -07:00
Alex Crichton
0459fb2665 Update git2
This updates git2-rs to not use pkg-config on windows.

Closes #472
2014-08-29 12:02:28 -07:00
Brian Koropoff
3e65e3f85e Refresh Cargo.lock
This brings in versions of upstream components with build break fixes
2014-08-29 08:25:57 -07:00
Alex Crichton
20e37c6a81 Update the git2 dependency
It turned out most of the methods in libgit2 don't actually require a Signature
structure, they're all mostly optional. This commit updates to this version of
libgit2 where the arguments are all optional.
2014-08-28 11:15:49 -07:00
Alex Crichton
692769363c Link to openssl statically for nightlies
An explanation can be found in the commit I made to git2-rs [1]. This is the
first step towards dealing with #457.

[1]: https://github.com/alexcrichton/git2-rs/commit/16142ef9
2014-08-28 08:00:33 -07:00
Björn Steinbrink
7372e7911e Fix building with current rust by using rust-lang/glob
The glob crate that comes with rust itself has been deprecated.
2014-08-27 12:49:11 +02:00
Alex Crichton
b3c813a608 Bump the git2 dep
The linux nightly failed and hopefully this will fix it.
2014-08-26 22:50:10 -07:00
Alex Crichton
d5cb12cad2 Roll back git2 a bit to fix tests 2014-08-26 22:33:06 -07:00
Alex Crichton
2430581a1c Update git2-rs with mingw support
An upstream PR for libgit2 was applied locally, modified to build, and then
git2-rs was updated to use this small for of libgit2. This adds https support
via winhttp on mingw for windows users.
2014-08-26 20:18:40 -07:00
Alex Crichton
c64fd71ede Revert "Revert "Use libgit2 for driving git instead of the CLI""
This reverts commit 04440bb035.

Conflicts:
	src/cargo/sources/git/utils.rs
2014-08-26 20:12:44 -07:00
Alex Crichton
69c16fc6c8 Implement cargo-package
This command will assemble the current package into a tarball ready for
uploading to the cargo registry. Currently no further verification is done
beyond packaging the local repository into a tarball, but in the future this
could execute other operations such as api stability tools.
2014-08-26 19:03:12 -07:00
Björn Steinbrink
1804feedcb Fix building with current rust 2014-08-26 20:55:39 +02:00
Alex Crichton
c9e0863137 Revert "Use libgit2 for driving git instead of the CLI"
This reverts commit 3cd82ed7a1.

Conflicts:
	src/cargo/sources/git/utils.rs
2014-08-19 09:10:14 -07:00
Alex Crichton
9886f1cb74 More import renaming fallout 2014-08-18 22:00:50 -07:00
Brian Koropoff
15fbc117cf Upgrade to latest toml-rs
This version has a fix for an import shadowing error
2014-08-17 18:33:51 -07:00
Alex Crichton
230dbf6a59 Use libgit2 for driving git instead of the CLI
In general relying on external programs is dicey and tricky as they're very
different across systems in both how they're used as well as what versions
you'll find. Instead of binding to the least common denominator of CLI, we can
code against an exact version of libgit2.

This introduces a build-time dependency on cmake which libgit2 requires to build
itself, which is unfortunate, but thankfully it's only a build time dep. The
build process for libgit2 also automatically detects as many system libraries as
possible to use (if available), falling back to bundled versions if not
available. I have currently not figured how to control this, so the link-config
package is used to build libgit2 which requires that pkg-config be installed to
build cargo as well.

Closes #138
2014-08-16 15:54:07 -07:00
Alex Crichton
eeab1dcee6 Update rust-encoding
Closes #357
2014-08-09 21:05:33 -07:00
Alex Crichton
32e8db2d69 Update rust-url with a contained bugfix 2014-08-06 17:12:30 -07:00
Alex Crichton
e219167738 Remove Location, use Url everywhere
Now that rust-url supports windows paths in URLs, this commit jettisons the
janky Location enum in favor of just using Url everywhere.
2014-08-06 17:09:24 -07:00
Alex Crichton
212e7247e2 Register new snapshots
These snapshots have the lockfile plus the per-target fingerprints. This also
additionally adds a lockfile to the repo for all our deps.
2014-08-03 21:33:46 -07:00