Merge pull request #22614 from cstrahan/ycm

YouCompleteMe: use ycmd package
This commit is contained in:
Daiderd Jordan
2017-02-14 21:32:09 +01:00
committed by GitHub
5 changed files with 29 additions and 104 deletions
+5 -23
View File
@@ -3,6 +3,7 @@
, which, fetchgit, llvmPackages
, xkb_switch, rustracerd, fzf
, python3, boost, icu
, ycmd
, Cocoa ? null
}:
@@ -1451,32 +1452,13 @@ rec {
sha256 = "12xz019jrvr6wgjbp0w052awpmhwbpkwy6j7v0f0ldx242rv9sr8";
};
dependencies = [];
buildInputs = [
python go cmake
] ++ stdenv.lib.optional stdenv.isDarwin Cocoa;
propagatedBuildInputs = stdenv.lib.optional (!stdenv.isDarwin) rustracerd;
patches = [
./patches/youcompleteme/2-ycm-cmake.patch
];
# YCM requires path to external libclang 3.9
# For explicit use and as env variable for ../third_party/ycmd/build.py
EXTRA_CMAKE_ARGS="-DEXTERNAL_LIBCLANG_PATH=${llvmPackages.clang.cc}/lib/libclang.${if stdenv.isDarwin then "dylib" else "so"}";
buildPhase = ''
patchShebangs .
substituteInPlace plugin/youcompleteme.vim \
--replace "'ycm_path_to_python_interpreter', '''" "'ycm_path_to_python_interpreter', '${python}/bin/python'"
--replace "'ycm_path_to_python_interpreter', '''" \
"'ycm_path_to_python_interpreter', '${python}/bin/python'"
mkdir build
pushd build
cmake -G "Unix Makefiles" . ../third_party/ycmd/cpp -DPYTHON_LIBRARIES:PATH=${python}/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR:PATH=${python}/include/python2.7 -DUSE_CLANG_COMPLETER=ON \
$EXTRA_CMAKE_ARGS
make ycm_core -j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}}
${python}/bin/python ../third_party/ycmd/build.py --gocode-completer --clang-completer
popd
rm -r third_party/ycmd
ln -s ${ycmd}/lib/ycmd third_party
'';
meta = {