diff --git a/app-vim/youcompleteme/youcompleteme-20190107.recipe b/app-vim/youcompleteme/youcompleteme-20190107.recipe new file mode 100644 index 000000000..205d6684a --- /dev/null +++ b/app-vim/youcompleteme/youcompleteme-20190107.recipe @@ -0,0 +1,96 @@ +SUMMARY="Code-completion engine for Vim" +DESCRIPTION="YouCompleteMe is a fast, as-you-type, fuzzy-search code \ +completion engine for Vim. It has several completion engines: +* an identifier-based engine that works with every programming language, +* a Clang-based engine that provides native semantic code completion for \ +C/C++/Objective-C/Objective-C++ (from now on referred to as \"the C-family \ +languages\"), +* a Jedi-based completion engine for Python 2 and 3 (using the JediHTTP wrapper), +* an OmniSharp-based completion engine for C#, +* a combination of Gocode and Godef semantic engines for Go, +* a TSServer-based completion engine for TypeScript, +* a Tern-based completion engine for JavaScript, +* a racer-based completion engine for Rust, +* a jdt.ls-based experimental completion engine for Java. +* and an omnifunc-based completer that uses data from Vim's omnicomplete \ +system to provide semantic completions for many other languages (Ruby, PHP \ +etc.)." +HOMEPAGE="http://valloric.github.io/YouCompleteMe/" +COPYRIGHT="2015-2019 YouCompleteMe contributors" +LICENSE="GNU GPL v3" +REVISION="1" +SOURCE_URI="https://github.com/Valloric/YouCompleteMe/archive/ccc06c2c423e7ee7008f7439ff99c604d474cec1.zip" +CHECKSUM_SHA256="8a1eb18bd7a063a8b6d950aaadca0b15717d3f37f3297ed1233dc0ef7cafdda9" +SOURCE_DIR="YouCompleteMe-ccc06c2c423e7ee7008f7439ff99c604d474cec1" +PATCHES="youcompleteme-20180809.patchset" +SOURCE_URI_2="https://github.com/Valloric/ycmd/archive/7f4ff5639ce95575d04e346833bef586ed564bbd.zip" +SOURCE_DIR_2="ycmd-7f4ff5639ce95575d04e346833bef586ed564bbd" +CHECKSUM_SHA256_2="4a707a7c697b3bc76d9ecc68ea6469378c6f1d9f1368c08f758b3706e9d149ff" + +ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + youcompleteme$secondaryArchSuffix = $portVersion + " + +# Yes, this needs both python (for vim embedded parts) and python3 (for the +# ycmd server) packages. +REQUIRES=" + haiku$secondaryArchSuffix + cmd:vim + bottle_python3 + certifi_python + certifi_python3 + frozendict_python + frozendict_python3 + future_python + future_python3 + futures_python + requests_futures_python + requests_python + requests_python3 + waitress_python3 + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libboost_filesystem$secondaryArchSuffix + devel:libboost_regex$secondaryArchSuffix + devel:libboost_system$secondaryArchSuffix + devel:libclang$secondaryArchSuffix >= 7 + devel:libpython3.6m$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:gcc$secondaryArchSuffix + cmd:ninja + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + mkdir -p ycm_build + mkdir -p $developLibDir + cd ycm_build + + rm -rf ../third_party/ycmd + ln -s ../../../sources-2/ycmd-* ../third_party/ycmd + + cmake -GNinja $cmakeDirArgs ../third_party/ycmd/cpp -DUSE_SYSTEM_BOOST=ON \ + -DUSE_SYSTEM_LIBCLANG=ON \ + -DPYTHON_INCLUDE_DIR=/system/develop/headers/python3.6m \ + -DUSE_PYTHON2=OFF + ninja $jobArgs ycm_core +} + +INSTALL() +{ + mkdir -p $dataDir/vim/vim80 + cp -r autoload doc python plugin ycm_build $dataDir/vim/vim80 + + mkdir -p $dataDir/vim/vim80/third_party/ycmd + cp -r third_party/ycmd/ycm_core.so $dataDir/vim/vim80/third_party/ycmd + cp -r third_party/ycmd/ycmd $dataDir/vim/vim80/third_party/ycmd/ycmd + cp third_party/ycmd/CORE_VERSION $dataDir/vim/vim80/third_party/ycmd/ +}