From 3345eb8f1d1ddc302a2bd2b3f3f480f5e1b1fa7c Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Thu, 4 Oct 2018 09:19:12 +0100 Subject: Build YCM against llvm/clang 7 --- app-vim/youcompleteme/Manifest | 1 + .../youcompleteme/youcompleteme-20180610-r1.ebuild | 113 +++++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 app-vim/youcompleteme/youcompleteme-20180610-r1.ebuild diff --git a/app-vim/youcompleteme/Manifest b/app-vim/youcompleteme/Manifest index d84bc2a..43dc581 100644 --- a/app-vim/youcompleteme/Manifest +++ b/app-vim/youcompleteme/Manifest @@ -4,4 +4,5 @@ DIST python-frozendict-b27053e4d11f5891319fd29eda561c130ba3112a.tar.gz 2192 BLAK DIST requests-futures-d9d21ac63904dc0a668e0f073503f85a534460f4.tar.gz 6742 BLAKE2B fe72f9d8cf5148500da18bb22ed5a5e8c6f80ca2a9dd5487c501acfa9e0e12bd3c615750a9a7c519dccab07d6101fafabc8d8242c8c0b5da6b4b61a1ff6c8a48 SHA512 e0ec8bffc5d710cd098643ec315b176e80223893528754c85f5ea8dc74a539e8ea2d429de5ff727a6fac9f163d47f9b089edcf8c3d0c7939184d162a3b6afe7e DIST ycmd-3db4f3b2d723007c46891c11fce53a0dc4363493.tar.gz 3713062 BLAKE2B 396371d99d30594598b728b7fb6ce15b83087ea48fe2941d759486f3672b6b40fa20a40e42b9644fe622962247ccb9d390b27fc82110710d9266f262e31fde6c SHA512 5059e71d3a63a8a8f15b2178113239b3a92c56bf240e099ad33287352fd2338dfe8a968e8f5849197c43d68a2d0edd5fb88fd4b4835d73ec1b5dd495a319d981 DIST youcompleteme-c9ff2177377a85515b7e081966685f3c46a33eca.tar.gz 281863 BLAKE2B 26625d245db2fea42838e8f8cee7fdff3d14a97a84a3a82ef317978ffedd8ab1c77120ac2acc0aad917ae3a97999c431bfc70cd1ed0639aaacb39e1622e56ef6 SHA512 69bf67117cc9a66e0b613ee7dce962f0e1f668c1bc785bbaf0527309970fc32606c5a43b13493163dae28ba96f90028d9c09fd7f33246216bd4be81ade870d1b +EBUILD youcompleteme-20180610-r1.ebuild 3653 BLAKE2B 825c85f41f68dd09256fb780d74320b30171cb093fd9c2e9fb7f02aefac76678d454e7e315af655ae8ced3f341a981db93480c4153a0afa6d10ea204341f978d SHA512 e40300039aebd759a1686aa973fe40d431fe9b861d7ef98d3ab76903d7f030b95e0c8d47748828c85b081a40ce8d54646504dbf0be6e3dee1b9db97aab69918e EBUILD youcompleteme-20180610.ebuild 3653 BLAKE2B 456f567f6bd6656e1d6ade329a5f8b7b8a3cfe3d5470e0b2c64d46049ad8db4917a78ced37ea9b38e8490d24f33aa11833e85e25206ce0c5ac0ff9f8541f5191 SHA512 d3edeef6406fa97d35f8dbc82b241db3dfd2e9b27f7efe70b4657a2221880bc0c1b051d8b98beb60b0636a9f3d0fecb7144050cd04b80fb7433f0ea750fe175f diff --git a/app-vim/youcompleteme/youcompleteme-20180610-r1.ebuild b/app-vim/youcompleteme/youcompleteme-20180610-r1.ebuild new file mode 100644 index 0000000..d78c8b1 --- /dev/null +++ b/app-vim/youcompleteme/youcompleteme-20180610-r1.ebuild @@ -0,0 +1,113 @@ +EAPI=6 +PYTHON_COMPAT=( python3_{4,5,6} ) +inherit multilib python-single-r1 cmake-utils vim-plugin + +youcompletemev="c9ff2177377a85515b7e081966685f3c46a33eca" +ycmdv="3db4f3b2d723007c46891c11fce53a0dc4363493" +reqfuv="d9d21ac63904dc0a668e0f073503f85a534460f4" +pfdv="b27053e4d11f5891319fd29eda561c130ba3112a" +ossv="e1902915c6790bcec00b8d551199c8a3537d33c9" +gocodev="416643789f088aa5077f667cecde7f966131f6be" + +KEYWORDS="~amd64 ~x86" +SRC_URI=" + https://github.com/Valloric/YouCompleteMe/archive/$youcompletemev.tar.gz -> youcompleteme-$youcompletemev.tar.gz + https://github.com/Valloric/ycmd/archive/$ycmdv.tar.gz -> ycmd-$ycmdv.tar.gz + https://github.com/ross/requests-futures/archive/$reqfuv.tar.gz -> requests-futures-$reqfuv.tar.gz + https://github.com/slezica/python-frozendict/archive/$pfdv.tar.gz -> python-frozendict-$pfdv.tar.gz + csharp? ( https://github.com/OmniSharp/omnisharp-server/archive/$ossv.tar.gz -> omnisharp-server-$ossv.tar.gz ) + go? ( https://github.com/nsf/gocode/archive/$gocodev.tar.gz -> gocode-$gocodev.tar.gz ) +" + +DESCRIPTION="vim plugin: a code-completion engine for Vim" +HOMEPAGE="http://valloric.github.io/YouCompleteMe/" + +LICENSE="GPL-3" +IUSE="+clang test go csharp" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +COMMON_DEPEND=" + ${PYTHON_DEPS} + clang? ( sys-devel/clang:7 ) + >=dev-libs/boost-1.66:=[python,threads,${PYTHON_USEDEP}] + || ( + app-editors/vim[python,${PYTHON_USEDEP}] + app-editors/gvim[python,${PYTHON_USEDEP}] + ) +" +RDEPEND=" + ${COMMON_DEPEND} + dev-python/bottle[${PYTHON_USEDEP}] + dev-python/future[${PYTHON_USEDEP}] + dev-python/jedi[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/sh[${PYTHON_USEDEP}] + dev-python/waitress[${PYTHON_USEDEP}] +" +DEPEND=" + ${COMMON_DEPEND} + test? ( + >=dev-python/mock-1.0.1[${PYTHON_USEDEP}] + >=dev-python/nose-1.3.0[${PYTHON_USEDEP}] + dev-cpp/gmock + dev-cpp/gtest + ) +" + +S="${WORKDIR}/YouCompleteMe-$youcompletemev" +CMAKE_IN_SOURCE_BUILD=1 +CMAKE_USE_DIR=${S}/third_party/ycmd/cpp + +VIM_PLUGIN_HELPFILES="${PN}" + +src_prepare() { + for third_party_module in ycmd pythonfutures requests-futures; do + rm -r "${S}"/third_party/${third_party_module} || die "Failed to remove third party module ${third_party_module}" + done + mv ${WORKDIR}/ycmd-$ycmdv ${S}/third_party/ycmd + use csharp && mv ${WORKDIR}/omnisharp-server-$ossv ${S}/third_party/ycmd/third_party/omnisharp-server + mv ${WORKDIR}/python-frozendict-$pfdv ${S}/third_party/ycmd/third_party/python-frozendict + use go && mv ${WORKDIR}/gocode-$gocodev ${S}/third_party/ycmd/third_party/gocode + mv ${WORKDIR}/requests-futures-$reqfuv ${S}/third_party/request-futures + cmake-utils_src_prepare + default +} + +src_configure() { + local mycmakeargs=( + -DUSE_CLANG_COMPLETER=$(usex clang) + -DUSE_CLANG_TIDY=$(usex clang) + -DUSE_SYSTEM_LIBCLANG=$(usex clang) + -DUSE_PYTHON2=OFF + -DPATH_TO_LLVM_ROOT=/usr/lib/llvm/7 + -DUSE_SYSTEM_BOOST=ON + ) + cmake-utils_src_configure +} + +src_test() { + cd "${S}/third_party/ycmd/cpp/ycm/tests" + LD_LIBRARY_PATH="${EROOT}"/usr/$(get_libdir)/llvm \ + ./ycm_core_tests || die + + cd "${S}"/python/ycm + + local dirs=( "${S}"/third_party/*/ "${S}"/third_party/ycmd/third_party/*/ ) + local -x PYTHONPATH=${PYTHONPATH}:$(IFS=:; echo "${dirs[*]}") + + nosetests || die +} + +src_install() { + dodoc *.md third_party/ycmd/*.md + rm -r *.md *.sh COPYING.txt third_party/ycmd/cpp || die + rm -r third_party/ycmd/{*.md,*.sh} || die + find python third_party/ycmd -depth -name '*test*' -exec rm -r {} + || die + find python third_party/ycmd -depth -name '*examples*' -exec rm -r {} + || die + rm third_party/ycmd/libclang.so.* || die + + vim-plugin_src_install + + python_optimize "${ED}" + python_fix_shebang "${ED}" +} -- cgit v1.2.3