summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoerg Thalheim <joerg@thalheim.io>2017-11-15 14:48:54 +0000
committerJoerg Thalheim <joerg@thalheim.io>2017-11-15 21:51:29 +0000
commit1d8f539bd4d19701bd148400301d21cc58cd7540 (patch)
tree9b2de26733b78de0df7a07f809de0479e59b3671
parent79aee3b57d646b0424e622e27acd6329b265bc65 (diff)
downloadnixlib-1d8f539bd4d19701bd148400301d21cc58cd7540.tar
nixlib-1d8f539bd4d19701bd148400301d21cc58cd7540.tar.gz
nixlib-1d8f539bd4d19701bd148400301d21cc58cd7540.tar.bz2
nixlib-1d8f539bd4d19701bd148400301d21cc58cd7540.tar.lz
nixlib-1d8f539bd4d19701bd148400301d21cc58cd7540.tar.xz
nixlib-1d8f539bd4d19701bd148400301d21cc58cd7540.tar.zst
nixlib-1d8f539bd4d19701bd148400301d21cc58cd7540.zip
rustracer: 2.0.9 -> 2.0.12
don't hard-code RUST_SRC_PATH so it can be overwritten by users/rustup
-rw-r--r--pkgs/development/tools/rust/racer/default.nix25
-rw-r--r--pkgs/development/tools/rust/racer/ignore-tests.patch22
-rw-r--r--pkgs/development/tools/rust/racer/rust-src.patch10
3 files changed, 45 insertions, 12 deletions
diff --git a/pkgs/development/tools/rust/racer/default.nix b/pkgs/development/tools/rust/racer/default.nix
index 57b685e946d0..77ab75d1446c 100644
--- a/pkgs/development/tools/rust/racer/default.nix
+++ b/pkgs/development/tools/rust/racer/default.nix
@@ -1,32 +1,33 @@
-{ stdenv, fetchFromGitHub, rustPlatform, makeWrapper }:
+{ stdenv, fetchFromGitHub, rustPlatform, makeWrapper, rustup, substituteAll }:
 
 rustPlatform.buildRustPackage rec {
   name = "racer-${version}";
-  version = "2.0.9";
+  version = "2.0.12";
 
   src = fetchFromGitHub {
     owner = "racer-rust";
     repo = "racer";
     rev = version;
-    sha256 = "06k50f2vj2w08afh3nrlhs0amcvw2i45bhfwr70sgs395xicjswp";
+    sha256 = "0y1xlpjr8y8gsmmrjlykx4vwzf8akk42g35kg3kc419ry4fli945";
   };
 
-  cargoSha256 = "1w5imxyqlyv24dvzncq6dy01zn2x8p1aciyvzh8ac1x1wdjcacjc";
+  cargoSha256 = "1h3jv4hajdv6k309kjr6b6298kxmd0faw081i3788sl794k9mp0j";
 
-  buildInputs = [ makeWrapper ];
+  # rustup is required for test
+  buildInputs = [ makeWrapper rustup ];
 
   preCheck = ''
     export RUST_SRC_PATH="${rustPlatform.rustcSrc}"
   '';
-
+  patches = [
+    (substituteAll {
+      src = ./rust-src.patch;
+      inherit (rustPlatform) rustcSrc;
+    })
+    ./ignore-tests.patch
+  ];
   doCheck = true;
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp -p target/release/racer $out/bin/
-    wrapProgram $out/bin/racer --set RUST_SRC_PATH "${rustPlatform.rustcSrc}"
-  '';
-
   meta = with stdenv.lib; {
     description = "A utility intended to provide Rust code completion for editors and IDEs";
     homepage = https://github.com/racer-rust/racer;
diff --git a/pkgs/development/tools/rust/racer/ignore-tests.patch b/pkgs/development/tools/rust/racer/ignore-tests.patch
new file mode 100644
index 000000000000..021217b4094e
--- /dev/null
+++ b/pkgs/development/tools/rust/racer/ignore-tests.patch
@@ -0,0 +1,22 @@
+diff -Naur --strip-trailing-cr source.org/src/racer/nameres.rs source/src/racer/nameres.rs
+--- source.org/src/racer/nameres.rs	2017-11-15 20:37:38.571644733 +0000
++++ source/src/racer/nameres.rs	2017-11-15 20:23:20.521324031 +0000
+@@ -577,6 +577,7 @@
+     out.into_iter()
+ }
+ 
++#[ignore]
+ #[test]
+ fn test_do_file_search() {
+     let cache = core::FileCache::default();
+diff -Naur --strip-trailing-cr source.org/src/racer/util.rs source/src/racer/util.rs
+--- source.org/src/racer/util.rs	2017-11-15 19:37:55.095344120 +0000
++++ source/src/racer/util.rs	2017-11-15 20:22:53.746624158 +0000
+@@ -475,6 +475,7 @@
+ 
+ }
+ 
++#[ignore]
+ #[test]
+ fn test_get_rust_src_path_missing() {
+     use std::env;
diff --git a/pkgs/development/tools/rust/racer/rust-src.patch b/pkgs/development/tools/rust/racer/rust-src.patch
new file mode 100644
index 000000000000..2e794ac88874
--- /dev/null
+++ b/pkgs/development/tools/rust/racer/rust-src.patch
@@ -0,0 +1,10 @@
+--- source.org/src/racer/util.rs	1970-01-01 01:00:01.000000000 +0100
++++ source/src/racer/util.rs	2017-11-15 16:50:12.904216242 +0000
+@@ -384,6 +384,7 @@
+     debug!("Nope. Trying default paths: /usr/local/src/rust/src and /usr/src/rust/src");
+ 
+     let default_paths = [
++        "@rustcSrc@",
+         "/usr/local/src/rust/src",
+         "/usr/src/rust/src",
+     ];