summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan-Tarek Butt2016-12-22 02:03:40 +0100
committerJan-Tarek Butt2016-12-22 02:03:40 +0100
commit3c0cdc9793f53432cdb9da54710e432fd6d7bb6f (patch)
tree37cbbcf44a6279fc0f4728d7261efb8724b7a693
parent4551b1e717e0222c12307f1e513c15f3d8dc472f (diff)
downloadaur-3c0cdc9793f53432cdb9da54710e432fd6d7bb6f.tar.gz
PKGBUILD: add configurable language support
-rw-r--r--PKGBUILD130
1 files changed, 86 insertions, 44 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 86471b70f452..152bf65ec66d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,5 +1,5 @@
-# Maintainer: Erik Beran <eberan AT gmail DOT com>
# Maintainer: Jan-Tarek Butt <tarek AT ring0 DOT de>
+# Contributor: Erik Beran <eberan AT gmail DOT com>
# Contributor: Thor K. H. <thor at roht dot no>
# Contributor: Babken Vardanyan <483ken 4tgma1l
# Contributor: mikezackles
@@ -14,8 +14,23 @@
# Contributor: archdria
# Contributor: Andy Weidenbaum <archbaum@gmail.com>
+###########################################################################################################
+# Build Options
+###########################################################################################################
+_omnisharp="y"
+
+_gocode="y"
+
+_rust="y"
+
+_tern="y"
+
+_completer="ON"
+
+###########################################################################################################
+
pkgname=vim-youcompleteme-git
-pkgver=28.972eecb
+pkgver=1963.194ff334
pkgver() {
cd "YouCompleteMe" || exit
echo "$(git rev-list --count master).$(git rev-parse --short master)"
@@ -49,7 +64,6 @@ source=('git+https://github.com/Valloric/YouCompleteMe.git' #ycm
)
sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP'
'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP')
-_COMPLETER="USE_SYSTEM_LIBCLANG"
install=install
prepare() {
@@ -81,7 +95,7 @@ gitprepare() {
cd "$srcdir/$CD_DIR" || exit
git submodule init
for GITSUBVAR in "${FEED[@]}" ; do
- git config submodule.$GIT_PREFIX$GITSUBVAR.url "$srcdir/$GITSUBVAR"
+ git config submodule."$GIT_PREFIX$GITSUBVAR".url "$srcdir/$GITSUBVAR"
done
git submodule update
unset -v FEED
@@ -91,59 +105,87 @@ build() {
msg2 'Building ycmd...' # BuildYcmdLibs()
mkdir -p "$srcdir/ycmd_build"
cd "$srcdir/ycmd_build" || exit
- cmake -G "Unix Makefiles" -D${_COMPLETER}=1 . "$srcdir/YouCompleteMe/third_party/ycmd/cpp"
+ cmake -G "Unix Makefiles" -DUSE_SYSTEM_LIBCLANG="$_completer" . "$srcdir/YouCompleteMe/third_party/ycmd/cpp"
make ycm_core
- msg2 'Building OmniSharp completer...' # BuildOmniSharp()
- cd "$srcdir/YouCompleteMe/third_party/ycmd/third_party/OmniSharpServer" || exit
- pwd
- xbuild /property:Configuration=Release
-
- msg2 'Building Gocode completer...' # BuildGoCode()
- cd "$srcdir/YouCompleteMe/third_party/ycmd/third_party/gocode" || exit
- pwd
- go build
- cd "$srcdir/YouCompleteMe/third_party/ycmd/third_party/godef" || exit
- pwd
- go build
-
- msg2 'Building Rust completer...' # BuildRacerd()
- cd "$srcdir/YouCompleteMe/third_party/ycmd/third_party/racerd" || exit
- pwd
- cargo build --release
-
- msg2 'Building Tern completer...' # SetUpTern()
- cd "$srcdir/YouCompleteMe/third_party/ycmd/third_party/tern_runtime" || exit
- pwd
- npm install --production --python=python2
+ if [ "$_omnisharp" = "y" ]; then
+ msg2 'Building OmniSharp completer...' # BuildOmniSharp()
+ cd "$srcdir/YouCompleteMe/third_party/ycmd/third_party/OmniSharpServer" || exit
+ pwd
+ xbuild /property:Configuration=Release
+ else
+ msg2 'Skipping OmniSharp completer...'
+ fi
+
+ if [ "$_gocode" = "y" ]; then
+ msg2 'Building Gocode completer...' # BuildGoCode()
+ cd "$srcdir/YouCompleteMe/third_party/ycmd/third_party/gocode" || exit
+ pwd
+ go build
+ cd "$srcdir/YouCompleteMe/third_party/ycmd/third_party/godef" || exit
+ pwd
+ go build
+ else
+ msg2 'Skipping Gocode completer...'
+ fi
+
+ if [ "$_rust" = "y" ]; then
+ msg2 'Building Rust completer...' # BuildRacerd()
+ cd "$srcdir/YouCompleteMe/third_party/ycmd/third_party/racerd" || exit
+ pwd
+ cargo build --release
+ else
+ msg2 'Skipping Rust completer...'
+ fi
+
+ if [ "$_tern" = "y" ]; then
+ msg2 'Building Tern completer...' # SetUpTern()
+ cd "$srcdir/YouCompleteMe/third_party/ycmd/third_party/tern_runtime" || exit
+ pwd
+ npm install --production --python=python2
+ else
+ msg2 'Skipping Tern completer...'
+ fi
}
package() {
- mkdir -p "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/OmniSharpServer/OmniSharp/bin/Release"
- mkdir -p "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/gocode"
- mkdir -p "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/godef"
- mkdir -p "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/racerd/target/release"
+ mkdir -p "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party"
cp -r "$srcdir/YouCompleteMe/"{autoload,doc,plugin,python} \
"$pkgdir/usr/share/vim/vimfiles"
cp -r "$srcdir/YouCompleteMe/third_party/"{pythonfutures,requests-futures,retries} \
"$pkgdir/usr/share/vim/vimfiles/third_party"
- cp -r "$srcdir/YouCompleteMe/third_party/ycmd/"{ycmd,ycm_core.so,CORE_VERSION} \
+ cp -r "$srcdir/YouCompleteMe/third_party/ycmd/"{ycmd,ycm_core.so,CORE_VERSION,cpp,clang_includes} \
"$pkgdir/usr/share/vim/vimfiles/third_party/ycmd"
-
- cp -r "$srcdir/YouCompleteMe/third_party/ycmd/third_party/"{argparse,bottle,frozendict,JediHTTP,python-future,requests,tern_runtime,waitress} \
+ cp -r "$srcdir/YouCompleteMe/third_party/ycmd/third_party/"{argparse,bottle,frozendict,JediHTTP,python-future,requests,waitress} \
"$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party"
- cp "$srcdir/YouCompleteMe/third_party/ycmd/third_party/gocode/gocode" \
- "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/gocode/gocode"
- cp "$srcdir/YouCompleteMe/third_party/ycmd/third_party/godef/godef" \
- "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/godef/godef"
- cp -r "$srcdir/YouCompleteMe/third_party/ycmd/third_party/OmniSharpServer/OmniSharp/bin/Release" \
- "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/OmniSharpServer/OmniSharp/bin"
- cp "$srcdir/YouCompleteMe/third_party/ycmd/third_party/racerd/target/release/racerd" \
- "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/racerd/target/release/racerd"
+ if [ "$_omnisharp" = "y" ]; then
+ mkdir -p "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/OmniSharpServer/OmniSharp/bin/Release"
+ cp -r "$srcdir/YouCompleteMe/third_party/ycmd/third_party/OmniSharpServer/OmniSharp/bin/Release" \
+ "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/OmniSharpServer/OmniSharp/bin"
+ fi
+
+ if [ "$_gocode" = "y" ]; then
+ mkdir -p "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/gocode"
+ mkdir -p "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/godef"
+ cp "$srcdir/YouCompleteMe/third_party/ycmd/third_party/gocode/gocode" \
+ "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/gocode/gocode"
+ cp "$srcdir/YouCompleteMe/third_party/ycmd/third_party/godef/godef" \
+ "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/godef/godef"
+ fi
+
+ if [ "$_rust" = "y" ]; then
+ mkdir -p "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/racerd/target/release"
+ cp "$srcdir/YouCompleteMe/third_party/ycmd/third_party/racerd/target/release/racerd" \
+ "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party/racerd/target/release/racerd"
+ fi
+
+ if [ "$_tern" = "y" ]; then
+ cp -r "$srcdir/YouCompleteMe/third_party/ycmd/third_party/tern_runtime" \
+ "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/third_party"
+ fi
find "$pkgdir" -name .git -exec rm -fr {} +
+ rm -rf "$pkgdir/usr/share/vim/vimfiles/third_party/ycmd/ycmd/tests"
}
-
-# vim:set ts=2 sw=2 et: