diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index fb04239dbd4..660f3cca7c6 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 similarity index 56% rename from pkgs/development/tools/rust/rustfmt/default.nix rename to pkgs/development/compilers/rust/rustfmt.nix index b98ab0dc74d..d7bcb994313 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"; - }; + # 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"; - cargoSha256 = "08x6vy5v2vgrk3gsw3qcvv52a7hifsgcsnsg1phlk1ikaff21y4z"; - - 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 29ac576926a..c96b6b454fd 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; };