diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index b5550a96a835..413751cf2551 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -10,7 +10,7 @@ let in rec { rustc = callPackage ./rustc.nix { - inherit llvm targets targetPatches targetToolchains rustPlatform version; + inherit stdenv llvm targets targetPatches targetToolchains rustPlatform version; forceBundledLLVM = true; @@ -34,6 +34,7 @@ rec { srcSha = "14b2n1msxma19ydchj54hd7f2zdsr524fg133dkmdn7j65f1x6aj"; cargoSha256 = "1sj59z0w172qvjwg1ma5fr5am9dgw27086xwdnrvlrk4hffcr7y7"; + inherit stdenv; inherit rustc; # the rustc that will be wrapped by cargo inherit rustPlatform; # used to build cargo }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 93022fcdb3bd..58783a148ec5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6564,7 +6564,10 @@ with pkgs; }; # For beta and nightly releases use the nixpkgs-mozilla overlay - rust = callPackage ../development/compilers/rust { }; + rust = callPackage ../development/compilers/rust + (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { + stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4' + }); inherit (rust) cargo rustc; buildRustCrate = callPackage ../build-support/rust/build-rust-crate.nix { };