summaryrefslogtreecommitdiff
path: root/pkgs/development/tools/rust/rustup-toolchain-install-master/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/rust/rustup-toolchain-install-master/default.nix')
-rw-r--r--pkgs/development/tools/rust/rustup-toolchain-install-master/default.nix56
1 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/development/tools/rust/rustup-toolchain-install-master/default.nix b/pkgs/development/tools/rust/rustup-toolchain-install-master/default.nix
new file mode 100644
index 000000000000..cae5453fa661
--- /dev/null
+++ b/pkgs/development/tools/rust/rustup-toolchain-install-master/default.nix
@@ -0,0 +1,56 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, openssl
+, runCommand
+, patchelf
+, zlib
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+ pname = "rustup-toolchain-install-master";
+ version = "1.7.3";
+
+ src = fetchFromGitHub {
+ owner = "kennytm";
+ repo = pname;
+ rev = "v${version}";
+ hash = "sha256-J25ER/g8Kylw/oTIEl4Gl8i1xmhR+4JM5M5EHpl1ras=";
+ };
+
+ patches =
+ let
+ patchelfPatch = runCommand "0001-dynamically-patchelf-binaries.patch" {
+ CC = stdenv.cc;
+ patchelf = patchelf;
+ libPath = "$ORIGIN/../lib:${lib.makeLibraryPath [ zlib ]}";
+ }
+ ''
+ export dynamicLinker=$(cat $CC/nix-support/dynamic-linker)
+ substitute ${./0001-dynamically-patchelf-binaries.patch} $out \
+ --subst-var patchelf \
+ --subst-var dynamicLinker \
+ --subst-var libPath
+ '';
+ in
+ lib.optionals stdenv.isLinux [ patchelfPatch ];
+
+ nativeBuildInputs = [ pkg-config ];
+ buildInputs = [
+ openssl
+ ] ++ lib.optionals stdenv.isDarwin [
+ Security
+ ];
+
+ cargoSha256 = "n7t8Ap9hdhrjmtKjfdyozf26J7yhu57pedm19CunLF4=";
+
+ meta = with lib; {
+ description = "Install a rustc master toolchain usable from rustup";
+ homepage = "https://github.com/kennytm/rustup-toolchain-install-master";
+ license = licenses.mit;
+ maintainers = with maintainers; [ davidtwco ];
+ };
+}