diff options
Diffstat (limited to 'pkgs/development/compilers/rust/rustc.nix')
-rw-r--r-- | pkgs/development/compilers/rust/rustc.nix | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 430d22f7653..ca9bf05b7e7 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -1,28 +1,30 @@ { stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget , fetchurl, file, python2 -, llvm_7, darwin, git, cmake, rustPlatform +, llvm_9, darwin, git, cmake, rust, rustPlatform , pkgconfig, openssl , which, libffi , withBundledLLVM ? false +, version +, sha256 }: let inherit (stdenv.lib) optional optionalString; inherit (darwin.apple_sdk.frameworks) Security; - llvmSharedForBuild = pkgsBuildBuild.llvm_7.override { enableSharedLibraries = true; }; - llvmSharedForHost = pkgsBuildHost.llvm_7.override { enableSharedLibraries = true; }; - llvmSharedForTarget = pkgsBuildTarget.llvm_7.override { enableSharedLibraries = true; }; + llvmSharedForBuild = pkgsBuildBuild.llvm_9.override { enableSharedLibraries = true; }; + llvmSharedForHost = pkgsBuildHost.llvm_9.override { enableSharedLibraries = true; }; + llvmSharedForTarget = pkgsBuildTarget.llvm_9.override { enableSharedLibraries = true; }; # For use at runtime - llvmShared = llvm_7.override { enableSharedLibraries = true; }; + llvmShared = llvm_9.override { enableSharedLibraries = true; }; in stdenv.mkDerivation rec { pname = "rustc"; - version = "1.38.0"; + inherit version; src = fetchurl { url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; - sha256 = "101dlpsfkq67p0hbwx4acqq6n90dj4bbprndizpgh1kigk566hk4"; + inherit sha256; }; __darwinAllowLocalNetworking = true; @@ -51,9 +53,9 @@ in stdenv.mkDerivation rec { # We need rust to build rust. If we don't provide it, configure will try to download it. # Reference: https://github.com/rust-lang/rust/blob/master/src/bootstrap/configure.py configureFlags = let - setBuild = "--set=target.${stdenv.buildPlatform.config}"; - setHost = "--set=target.${stdenv.hostPlatform.config}"; - setTarget = "--set=target.${stdenv.targetPlatform.config}"; + setBuild = "--set=target.${rust.toRustTarget stdenv.buildPlatform}"; + setHost = "--set=target.${rust.toRustTarget stdenv.hostPlatform}"; + setTarget = "--set=target.${rust.toRustTarget stdenv.targetPlatform}"; ccForBuild = "${pkgsBuildBuild.targetPackages.stdenv.cc}/bin/${pkgsBuildBuild.targetPackages.stdenv.cc.targetPrefix}cc"; cxxForBuild = "${pkgsBuildBuild.targetPackages.stdenv.cc}/bin/${pkgsBuildBuild.targetPackages.stdenv.cc.targetPrefix}c++"; ccForHost = "${pkgsBuildHost.targetPackages.stdenv.cc}/bin/${pkgsBuildHost.targetPackages.stdenv.cc.targetPrefix}cc"; @@ -66,9 +68,9 @@ in stdenv.mkDerivation rec { "--set=build.cargo=${rustPlatform.rust.cargo}/bin/cargo" "--enable-rpath" "--enable-vendor" - "--build=${stdenv.buildPlatform.config}" - "--host=${stdenv.hostPlatform.config}" - "--target=${stdenv.targetPlatform.config}" + "--build=${rust.toRustTarget stdenv.buildPlatform}" + "--host=${rust.toRustTarget stdenv.hostPlatform}" + "--target=${rust.toRustTarget stdenv.targetPlatform}" "${setBuild}.cc=${ccForBuild}" "${setHost}.cc=${ccForHost}" |