From 2805444f9632f97b820faed4c5919ea88c1af447 Mon Sep 17 00:00:00 2001 From: Yurii Rashkovskii Date: Fri, 3 Nov 2017 13:29:20 +0700 Subject: [PATCH 1/2] rust: 1.20.0 -> 1.21.0 --- pkgs/development/compilers/rust/bootstrap.nix | 12 ++++++------ pkgs/development/compilers/rust/default.nix | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix index fbcac09fc458..24d63d515148 100644 --- a/pkgs/development/compilers/rust/bootstrap.nix +++ b/pkgs/development/compilers/rust/bootstrap.nix @@ -3,14 +3,14 @@ let # Note: the version MUST be one version prior to the version we're # building - version = "1.19.0"; + version = "1.20.0"; - # fetch hashes by running `print-hashes.sh 1.19.0` + # fetch hashes by running `print-hashes.sh 1.20.0` hashes = { - i686-unknown-linux-gnu = "657b78f3c1a1b4412e12f7278e20cc318022fa276a58f0d38a0d15b515e39713"; - x86_64-unknown-linux-gnu = "30ff67884464d32f6bbbde4387e7557db98868e87fb2afbb77c9b7716e3bff09"; - i686-apple-darwin = "bdfd2189245dc5764c9f26bdba1429c2bf9d57477d8e6e3f0ba42ea0dc63edeb"; - x86_64-apple-darwin = "5c668fb60a3ba3e97dc2cb8967fc4bb9422b629155284dcb89f94d116bb17820"; + i686-unknown-linux-gnu = "abe592e06616cdc2fcca56ddbe482050dd49a1fada35e2af031c64fe6eb14668"; + x86_64-unknown-linux-gnu = "ca1cf3aed73ff03d065a7d3e57ecca92228d35dc36d9274a6597441319f18eb8"; + i686-apple-darwin = "b3c2470f8f132d285e6c989681e251592b67071bc9d93cac8a2e6b66f7bdfcb5"; + x86_64-apple-darwin = "fa1fb8896d5e327cbe6deeb50e6e9a3346de629f2e6bcbd8c10f19f3e2ed67d5"; }; platform = diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index c42c958b170c..3973eaff1878 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -6,7 +6,7 @@ let rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {})); - version = "1.20.0"; + version = "1.21.0"; in rec { rustc = callPackage ./rustc.nix { @@ -18,7 +18,7 @@ rec { src = fetchurl { url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; - sha256 = "0542y4rnzlsrricai130mqyxl8r6rd991frb4qsnwb27yigqg91a"; + sha256 = "1yj8lnxybjrybp00fqhxw8fpr641dh8wcn9mk44xjnsb4i1c21qp"; }; patches = [ From cf9e6f3a1819cc5bc73753e4e7da40943f72714b Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Sun, 5 Nov 2017 11:13:49 +0100 Subject: [PATCH 2/2] cargo: fix darwin build --- pkgs/development/compilers/rust/cargo.nix | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix index 682e85ce867b..fb3001bbf17b 100644 --- a/pkgs/development/compilers/rust/cargo.nix +++ b/pkgs/development/compilers/rust/cargo.nix @@ -1,7 +1,11 @@ { stdenv, fetchFromGitHub, file, curl, pkgconfig, python, openssl, cmake, zlib , makeWrapper, libiconv, cacert, rustPlatform, rustc, libgit2, darwin , version, srcSha, cargoSha256 -, patches ? []}: +, patches ? [] }: + +let + inherit (darwin.apple_sdk.frameworks) CoreFoundation; +in rustPlatform.buildRustPackage rec { name = "cargo-${version}"; @@ -21,13 +25,17 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ file curl python openssl cmake zlib makeWrapper libgit2 ] - # FIXME: Use impure version of CoreFoundation because of missing symbols. - # CFURLSetResourcePropertyForKey is defined in the headers but there's no - # corresponding implementation in the sources from opensource.apple.com. - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.CoreFoundation libiconv ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation libiconv ]; LIBGIT2_SYS_USE_PKG_CONFIG=1; + # FIXME: Use impure version of CoreFoundation because of missing symbols. + # CFURLSetResourcePropertyForKey is defined in the headers but there's no + # corresponding implementation in the sources from opensource.apple.com. + preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' + export NIX_CFLAGS_COMPILE="-F${CoreFoundation}/Library/Frameworks $NIX_CFLAGS_COMPILE" + ''; + postInstall = '' # NOTE: We override the `http.cainfo` option usually specified in # `.cargo/config`. This is an issue when users want to specify @@ -36,8 +44,7 @@ rustPlatform.buildRustPackage rec { wrapProgram "$out/bin/cargo" \ --suffix PATH : "${rustc}/bin" \ --set CARGO_HTTP_CAINFO "${cacert}/etc/ssl/certs/ca-bundle.crt" \ - --set SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt" \ - ${stdenv.lib.optionalString stdenv.isDarwin ''--suffix DYLD_LIBRARY_PATH : "${rustc}/lib"''} + --set SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt" ''; checkPhase = ''