at 17.09-beta 1.6 kB view raw
1{ stdenv, lib, runCommand 2, fetchFromGitHub, rustPlatform 3, pkgconfig, curl, Security }: 4 5rustPlatform.buildRustPackage rec { 6 name = "rustup-${version}"; 7 version = "1.2.0"; 8 9 depsSha256 = "06bfz5kyj3k0yxv55dq0s1arx34sy1jjfrpgd83rf99026vcm5x2"; 10 11 src = fetchFromGitHub { 12 owner = "rust-lang-nursery"; 13 repo = "rustup.rs"; 14 rev = version; 15 sha256 = "0qwl27wh7j03h511bd8fq5fif5xcmkiyy9rm3hri7czjqr01mw0v"; 16 }; 17 18 nativeBuildInputs = [ pkgconfig ]; 19 20 buildInputs = [ 21 curl 22 ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security ]; 23 24 cargoBuildFlags = [ "--features no-self-update" ]; 25 26 patches = lib.optionals stdenv.isLinux [ 27 (runCommand "0001-use-hardcoded-dynamic-linker.patch" { CC=stdenv.cc; } '' 28 export dynamicLinker=$(cat $CC/nix-support/dynamic-linker) 29 substituteAll ${./0001-use-hardcoded-dynamic-linker.patch} $out 30 '') 31 ]; 32 33 postInstall = '' 34 pushd $out/bin 35 mv rustup-init rustup 36 for link in cargo rustc rustdoc rust-gdb rust-lldb; do 37 ln -s rustup $link 38 done 39 popd 40 41 # tries to create .rustup 42 export HOME=$(mktemp -d) 43 mkdir -p "$out/share/"{bash-completion/completions,fish/completions,zsh/site-functions} 44 $out/bin/rustup completions bash > "$out/share/bash-completion/completions/rustup" 45 $out/bin/rustup completions fish > "$out/share/fish/completions/rustup.fish" 46 $out/bin/rustup completions zsh > "$out/share/zsh/site-functions/_rustup" 47 ''; 48 49 meta = with stdenv.lib; { 50 description = "The Rust toolchain installer"; 51 homepage = https://www.rustup.rs/; 52 license = licenses.mit; 53 maintainer = [ maintainers.mic92 ]; 54 }; 55}