Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 17.09 55 lines 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.3.0"; 8 9 depsSha256 = "078hssgffgpakv735p1xg60kic151r2dvpdr9sipb63lwqr4dxfb"; 10 11 src = fetchFromGitHub { 12 owner = "rust-lang-nursery"; 13 repo = "rustup.rs"; 14 rev = version; 15 sha256 = "199jlqqidzak7nxmv2nzjzv7zfzy9z7hw6h8d8wf1rbfdwd9l6hs"; 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}