diff --git a/pkgs/development/tools/rust/racer/default.nix b/pkgs/development/tools/rust/racer/default.nix new file mode 100644 index 00000000000..277f83ded73 --- /dev/null +++ b/pkgs/development/tools/rust/racer/default.nix @@ -0,0 +1,29 @@ +{stdenv, fetchgit, rust, makeWrapper }: + +let + rustSrc = rust.src; +in + +stdenv.mkDerivation rec { + #TODO add emacs support + name = "racer-git-2014-11-24"; + src = fetchgit { + url = https://github.com/phildawes/racer; + rev = "50655ffd509bea09ea9b310970dedfeaf5a33cf3"; + sha256 = "0bd456i4nz12z39ljnw1kjg8mcflvm7rjql2r80fb038c7rd6xi1"; + }; + + buildInputs = [ rust makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + cp -p bin/racer $out/bin/ + wrapProgram $out/bin/racer --set RUST_SRC_PATH "${rustSrc}/src" + ''; + + meta = { + description = "A utility intended to provide rust code completion for editors and IDEs."; + homepage = https://github.com/phildawes/racer; + license = stdenv.lib.licenses.mit; + }; +} diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index ecb3fbc1d57..7988b112c76 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -1,5 +1,5 @@ # TODO check that no license information gets lost -{ fetchurl, bash, stdenv, python, cmake, vim, perl, ruby, unzip, which, fetchgit, fetchzip, llvmPackages, zip }: +{ fetchurl, bash, stdenv, python, cmake, vim, perl, ruby, unzip, which, fetchgit, fetchzip, llvmPackages, zip, racerRust }: /* Typical plugin files: @@ -595,6 +595,26 @@ rec { }; }; + racer = buildVimPlugin { + name = "racer-git-2014-11-24"; + src = fetchgit { + url = https://github.com/phildawes/racer; + rev = "50655ffd509bea09ea9b310970dedfeaf5a33cf3"; + sha256 = "0bd456i4nz12z39ljnw1kjg8mcflvm7rjql2r80fb038c7rd6xi1"; + }; + buildPhase = '' + find . -type f -not -name 'racer.vim' -exec rm -rf {} \; + mkdir plugin + mv ./editors/racer.vim plugin/racer.vim + rm -rf editors images src + ''; + /*patches = [ ./racer.patch ];*/ + meta = { + homepage = https://github.com/phildawes/racer; + maintainers = [ stdenv.lib.maintainers.jagajaga ]; + }; + }; + rainbow_parentheses = buildVimPlugin { name = "rainbow_parentheses"; src = fetchgit { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b87f7bbaa23..862d86b7817 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4646,6 +4646,8 @@ let pstack = callPackage ../development/tools/misc/gdb/pstack.nix { }; + racerRust = callPackage ../development/tools/rust/racer { rust = rustcMaster; }; + radare = callPackage ../development/tools/analysis/radare { inherit (gnome) vte; lua = lua5;