diff options
author | Jörg Thalheim <joerg@thalheim.io> | 2017-06-15 22:12:31 +0100 |
---|---|---|
committer | Jörg Thalheim <joerg@thalheim.io> | 2017-06-25 11:56:29 +0100 |
commit | 7a10cc84a0cd532c8a248d26dedf61d15615fb4d (patch) | |
tree | d7f7f1514098b012c22439e1a92aab24e0713dff /pkgs/top-level/rust-packages.nix | |
parent | c610f99d8fc25dbdcd8530aca17a838c32ac569f (diff) | |
download | nixlib-7a10cc84a0cd532c8a248d26dedf61d15615fb4d.tar nixlib-7a10cc84a0cd532c8a248d26dedf61d15615fb4d.tar.gz nixlib-7a10cc84a0cd532c8a248d26dedf61d15615fb4d.tar.bz2 nixlib-7a10cc84a0cd532c8a248d26dedf61d15615fb4d.tar.lz nixlib-7a10cc84a0cd532c8a248d26dedf61d15615fb4d.tar.xz nixlib-7a10cc84a0cd532c8a248d26dedf61d15615fb4d.tar.zst nixlib-7a10cc84a0cd532c8a248d26dedf61d15615fb4d.zip |
rustRegistry: switch to mkDerivation
fixes #26582
Diffstat (limited to 'pkgs/top-level/rust-packages.nix')
-rw-r--r-- | pkgs/top-level/rust-packages.nix | 72 |
1 files changed, 38 insertions, 34 deletions
diff --git a/pkgs/top-level/rust-packages.nix b/pkgs/top-level/rust-packages.nix index 67351b7bec0a..aed51a448739 100644 --- a/pkgs/top-level/rust-packages.nix +++ b/pkgs/top-level/rust-packages.nix @@ -4,39 +4,43 @@ # 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 -, src ? fetchFromGitHub { +{ stdenv, fetchFromGitHub, git }: + +stdenv.mkDerivation { + name = "rustRegistry-2017-06-25"; + + src = fetchFromGitHub { owner = "rust-lang"; repo = "crates.io-index"; - rev = "cda0f689f844710a3d73c7ff459efa64997f73b5"; - sha256 = "1b3brl9nn3qqaysd8lx9gaazd863grqx547iw7y9j6mkcc7sakvc"; - } -}: - -runCommand "rustRegistry" { 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" -'' + rev = "9714616bf3b7836cb827d8d1eabef017d730fb5e"; + sha256 = "02lpmjsqwa16j14y3jzgw4dpzfy001nfyi78x9b8rgp1w3qdjbkr"; + }; + phases = [ "unpackPhase" "installPhase" ]; + installPhase = '' + # 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 ./* $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" + ''; +} |