summary refs log tree commit diff
path: root/pkgs/top-level/rust-packages.nix
diff options
context:
space:
mode:
authorJörg Thalheim <joerg@thalheim.io>2017-06-15 22:12:31 +0100
committerJörg Thalheim <joerg@thalheim.io>2017-06-25 11:56:29 +0100
commit7a10cc84a0cd532c8a248d26dedf61d15615fb4d (patch)
treed7f7f1514098b012c22439e1a92aab24e0713dff /pkgs/top-level/rust-packages.nix
parentc610f99d8fc25dbdcd8530aca17a838c32ac569f (diff)
downloadnixlib-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.nix72
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"
+  '';
+}