nixpkgs/pkgs/top-level/rust-packages.nix
Anders Papitto 1e0866e064 rust: 1.15.0 -> 1.17.0
Also updates beta, nightly, nightlyBin, and bootstrap compilers.
Also updates the registry.
Also consolidates logic between bootstrap and nightlyBin compilers.
Also contains some miscellaneous cleanups.
Also patches firefox to build with the newer cargo
2017-06-10 15:15:50 -07:00

51 lines
1.4 KiB
Nix

# This file defines the source of Rust / cargo's crates registry
#
# buildRustPackage will automatically download dependencies from the registry
# version that we define here. If you're having problems downloading / finding
# a Rust library, try updating this to a newer commit.
{ runCommand, fetchFromGitHub, git }:
let
version = "2017-05-31";
rev = "d85037df75a945b5a368d6ceaa7e030b67473a51";
sha256 = "0567lfjxvbn4pb39557yfdq1nm4ssgbvzvzkrdqnx9sx5xyx7n4s";
src = fetchFromGitHub {
inherit rev;
inherit sha256;
owner = "rust-lang";
repo = "crates.io-index";
};
in
runCommand "rustRegistry-${version}-${builtins.substring 0 7 rev}" { inherit src; } ''
# For some reason, cargo doesn't like fetchgit's git repositories, not even
# if we set leaveDotGit to true, set the fetchgit branch to 'master' and clone
# the repository (tested with registry rev
# 965b634156cc5c6f10c7a458392bfd6f27436e7e), failing with the message:
#
# "Target OID for the reference doesn't exist on the repository"
#
# So we'll just have to create a new git repository from scratch with the
# contents downloaded with fetchgit...
mkdir -p $out
cp -r ${src}/* $out/
cd $out
git="${git}/bin/git"
$git init
$git config --local user.email "example@example.com"
$git config --local user.name "example"
$git add .
$git commit --quiet -m 'Rust registry commit'
touch $out/touch . "$out/.cargo-index-lock"
''