summary refs log tree commit diff
path: root/pkgs/misc/vim-plugins
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2017-02-14 21:32:09 +0100
committerGitHub <noreply@github.com>2017-02-14 21:32:09 +0100
commit7929888e8da9271d307c2692a28251a1552c577a (patch)
treefa91ba17aa7fb82742e97a8e3fb187229b038ce2 /pkgs/misc/vim-plugins
parenta5b8d468a504e0eedcda71de1694201806fb921d (diff)
parent07c21bfaf72b54c3bcc1649c635d95fdc900a5ed (diff)
downloadnixlib-7929888e8da9271d307c2692a28251a1552c577a.tar
nixlib-7929888e8da9271d307c2692a28251a1552c577a.tar.gz
nixlib-7929888e8da9271d307c2692a28251a1552c577a.tar.bz2
nixlib-7929888e8da9271d307c2692a28251a1552c577a.tar.lz
nixlib-7929888e8da9271d307c2692a28251a1552c577a.tar.xz
nixlib-7929888e8da9271d307c2692a28251a1552c577a.tar.zst
nixlib-7929888e8da9271d307c2692a28251a1552c577a.zip
Merge pull request #22614 from cstrahan/ycm
YouCompleteMe: use ycmd package
Diffstat (limited to 'pkgs/misc/vim-plugins')
-rw-r--r--pkgs/misc/vim-plugins/default.nix30
-rw-r--r--pkgs/misc/vim-plugins/patches/youcompleteme/2-ycm-cmake.patch36
-rw-r--r--pkgs/misc/vim-plugins/vim2nix/additional-nix-code/youcompleteme27
3 files changed, 10 insertions, 83 deletions
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index f7274219bdcb..953957c7c124 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -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'"
-
-      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
+        --replace "'ycm_path_to_python_interpreter', '''" \
+                  "'ycm_path_to_python_interpreter', '${python}/bin/python'"
+
+      rm -r third_party/ycmd
+      ln -s ${ycmd}/lib/ycmd third_party
     '';
 
     meta = {
diff --git a/pkgs/misc/vim-plugins/patches/youcompleteme/2-ycm-cmake.patch b/pkgs/misc/vim-plugins/patches/youcompleteme/2-ycm-cmake.patch
deleted file mode 100644
index a1c4b1b39a46..000000000000
--- a/pkgs/misc/vim-plugins/patches/youcompleteme/2-ycm-cmake.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- ./third_party/ycmd/cpp/ycm/CMakeLists.txt
-+++ ./third_party/ycmd/cpp/ycm/CMakeLists.txt
-@@ -335,7 +335,7 @@
-       COMMAND ${CMAKE_COMMAND} -E copy "${LIBCLANG_TARGET}" "$<TARGET_FILE_DIR:${PROJECT_NAME}>"
-     )
- 
--    if( APPLE )
-+  #if( APPLE )
-       # In OS X El Capitan, Apple introduced System Integrity Protection.
-       # Amongst other things, this introduces features to the dynamic loader
-       # (dyld) which cause it to "sanitise" (and complain about) embedded
-@@ -354,15 +354,15 @@
-       # simply strip the rpath entry from the dylib.  There's no way any
-       # @executable_path that python might have could be in any way useful to
-       # libclang.dylib, so this seems perfectly safe.
--      get_filename_component( LIBCLANG_TAIL ${LIBCLANG_TARGET} NAME )
--      add_custom_command( TARGET ${PROJECT_NAME}
--                          POST_BUILD
--                          COMMAND install_name_tool
--                          "-delete_rpath"
--                          "@executable_path/../lib"
--                          "$<TARGET_FILE_DIR:${PROJECT_NAME}>/${LIBCLANG_TAIL}"
--                        )
--    endif()
-+      #    get_filename_component( LIBCLANG_TAIL ${LIBCLANG_TARGET} NAME )
-+      #add_custom_command( TARGET ${PROJECT_NAME}
-+      #                    POST_BUILD
-+      #                    COMMAND install_name_tool
-+      #                    "-delete_rpath"
-+      #                    "@executable_path/../lib"
-+      #                    "$<TARGET_FILE_DIR:${PROJECT_NAME}>/${LIBCLANG_TAIL}"
-+      #                  )
-+      # endif()
-   endif()
- endif()
- 
diff --git a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/youcompleteme b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/youcompleteme
index 8da267837fb7..d61fdff0f08d 100644
--- a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/youcompleteme
+++ b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/youcompleteme
@@ -1,29 +1,10 @@
-    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 = {