about summary refs log tree commit diff
path: root/pkgs/development/tools/rust
diff options
context:
space:
mode:
authorRicardo M. Correia <rcorreia@wizy.org>2015-05-12 17:30:11 +0200
committerRicardo M. Correia <rcorreia@wizy.org>2015-05-12 17:30:11 +0200
commit755df64ee36c3d59a2451dda626415618657f513 (patch)
tree32df0f963114fe2ca5de8f1b0da6edd774d86a08 /pkgs/development/tools/rust
parent88fbc8a0dacc69677f58e66f09a07690402bc162 (diff)
parente40a43cd1f4ea69f9ec95fbcbbb89621db31ccae (diff)
downloadnixlib-755df64ee36c3d59a2451dda626415618657f513.tar
nixlib-755df64ee36c3d59a2451dda626415618657f513.tar.gz
nixlib-755df64ee36c3d59a2451dda626415618657f513.tar.bz2
nixlib-755df64ee36c3d59a2451dda626415618657f513.tar.lz
nixlib-755df64ee36c3d59a2451dda626415618657f513.tar.xz
nixlib-755df64ee36c3d59a2451dda626415618657f513.tar.zst
nixlib-755df64ee36c3d59a2451dda626415618657f513.zip
Merge pull request #7501 from wizeman/u/upd-rust
Add support for Rust / Cargo packaging
Diffstat (limited to 'pkgs/development/tools/rust')
-rw-r--r--pkgs/development/tools/rust/racer/default.nix22
-rw-r--r--pkgs/development/tools/rust/racer/pr-232.patch26
2 files changed, 40 insertions, 8 deletions
diff --git a/pkgs/development/tools/rust/racer/default.nix b/pkgs/development/tools/rust/racer/default.nix
index 4ef9cc6d285f..5169cd1567ca 100644
--- a/pkgs/development/tools/rust/racer/default.nix
+++ b/pkgs/development/tools/rust/racer/default.nix
@@ -1,18 +1,24 @@
-{stdenv, fetchgit, rustc, cargo, makeWrapper }:
+{stdenv, fetchgit, rustPlatform, makeWrapper }:
 
-stdenv.mkDerivation rec {
+with rustPlatform;
+
+buildRustPackage rec {
   #TODO add emacs support
-  name = "racer-git-2015-04-12";
+  name = "racer-git-2015-05-04";
   src = fetchgit {
     url = https://github.com/phildawes/racer;
-    rev = "5437e2074d87dfaab75a0f1bd2597bed61c0bbf1";
-    sha256 = "0a768gvjry86l0xa5q0122iyq7zn2h9adfniglsgrbs4fan49xyn";
+    rev = "bf2373ec08b0be03598283bd610c5b61bdb8738c";
+    sha256 = "0ldf05d19ghxk3fslxrc87j18zg8bam2y0ygdy456h37y2p1d1ck";
   };
 
-  buildInputs = [ rustc cargo makeWrapper ];
+  patches = [ ./pr-232.patch ];
+
+  depsSha256 = "0rinyh365znx39aygxyyxmi496pw0alblf2dl7l8fbmz63nkhfv2";
+
+  buildInputs = [ makeWrapper ];
 
-  buildPhase = ''
-    CARGO_HOME="$NIX_BUILD_TOP/.cargo" cargo build --release
+  preCheck = ''
+    export RUST_SRC_PATH="${rustc.src}/src"
   '';
 
   installPhase = ''
diff --git a/pkgs/development/tools/rust/racer/pr-232.patch b/pkgs/development/tools/rust/racer/pr-232.patch
new file mode 100644
index 000000000000..354307d71e4f
--- /dev/null
+++ b/pkgs/development/tools/rust/racer/pr-232.patch
@@ -0,0 +1,26 @@
+From 3f354d69881424c7c902408d22f9138412a872b4 Mon Sep 17 00:00:00 2001
+From: Ricardo Martins <ricardo@scarybox.net>
+Date: Sat, 9 May 2015 17:12:55 +0100
+Subject: [PATCH] Use `Vec::extend` instead of binary operation `+`.
+
+---
+ src/racer/nameres.rs | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/racer/nameres.rs b/src/racer/nameres.rs
+index 60636c6..ad1e01c 100644
+--- a/src/racer/nameres.rs
++++ b/src/racer/nameres.rs
+@@ -620,9 +620,9 @@ pub fn search_scope(start: usize, point: usize, src: &str,
+         }
+ 
+         // There's a good chance of a match. Run the matchers
+-        out = out + &*run_matchers_on_blob(src, start+blobstart, start+blobend,
+-                                      searchstr,
+-                                      filepath, search_type, local, namespace);
++        out.extend(run_matchers_on_blob(src, start+blobstart, start+blobend,
++                                        searchstr,
++                                        filepath, search_type, local, namespace));
+         if let ExactMatch = search_type {
+             if !out.is_empty() {
+                 return out.into_iter();