about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/compilers/rust/default.nix1
-rw-r--r--pkgs/development/compilers/rust/rustfmt.nix (renamed from pkgs/development/tools/rust/rustfmt/default.nix)20
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 10 insertions, 13 deletions
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index fb04239dbd4b8..660f3cca7c682 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -59,6 +59,7 @@
         pkgsBuildHost = pkgsBuildBuild // { targetPackages.stdenv = llvmPackages_5.stdenv; };
         pkgsBuildTarget = pkgsBuildTarget // { targetPackages.stdenv = llvmPackages_5.stdenv; };
       });
+      rustfmt = self.callPackage ./rustfmt.nix { inherit Security; };
       cargo = self.callPackage ./cargo.nix {
         # Use boot package set to break cycle
         rustPlatform = bootRustPlatform;
diff --git a/pkgs/development/tools/rust/rustfmt/default.nix b/pkgs/development/compilers/rust/rustfmt.nix
index b98ab0dc74d75..d7bcb994313f1 100644
--- a/pkgs/development/tools/rust/rustfmt/default.nix
+++ b/pkgs/development/compilers/rust/rustfmt.nix
@@ -1,19 +1,15 @@
-{ stdenv, fetchFromGitHub, rustPlatform, darwin }:
+{ stdenv, rustPlatform, Security }:
 
 rustPlatform.buildRustPackage rec {
   name = "rustfmt-${version}";
-  version = "1.2.2";
+  inherit (rustPlatform.rust.rustc) version src;
 
-  src = fetchFromGitHub {
-    owner = "rust-lang";
-    repo = "rustfmt";
-    rev = "v${version}";
-    sha256 = "1k9p6sp8q87flx9vzg46880ir7likvbydai3g6q76278h86rn0v8";
-  };
-
-  cargoSha256 = "08x6vy5v2vgrk3gsw3qcvv52a7hifsgcsnsg1phlk1ikaff21y4z";
+  # the rust source tarball already has all the dependencies vendored, no need to fetch them again
+  cargoVendorDir = "vendor";
+  preBuild = "pushd src/tools/rustfmt";
+  preInstall = "popd";
 
-  buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
+  buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
   # As of 1.0.0 and rustc 1.30 rustfmt requires a nightly compiler
   RUSTC_BOOTSTRAP = 1;
@@ -28,7 +24,7 @@ rustPlatform.buildRustPackage rec {
     description = "A tool for formatting Rust code according to style guidelines";
     homepage = https://github.com/rust-lang-nursery/rustfmt;
     license = with licenses; [ mit asl20 ];
-    maintainers = [ maintainers.globin ];
+    maintainers = with maintainers; [ globin basvandijk ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 29ac576926a2d..c96b6b454fda0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8279,7 +8279,7 @@ in
   rls = callPackage ../development/tools/rust/rls {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
   };
-  rustfmt = callPackage ../development/tools/rust/rustfmt { };
+  rustfmt = rustPackages.rustfmt;
   rustracer = callPackage ../development/tools/rust/racer {
     inherit (darwin.apple_sdk.frameworks) Security;
   };