1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 06:10:05 +08:00
SpaceVim/.ci/install/linux.sh

59 lines
1.4 KiB
Bash
Raw Normal View History

2021-02-17 23:15:18 +08:00
#!/usr/bin/env bash
# Fail on unset variables and command errors
set -ue -o pipefail
# Prevent commands misbehaving due to locale differences
export LC_ALL=C
install_vim() {
2019-10-09 22:57:03 +08:00
local URL=https://github.com/vim/vim
local tag=$1
2021-08-11 13:45:38 +08:00
local ext=$([[ $tag == "nightly" ]] && echo "" || echo "-b $tag")
2019-10-09 22:57:03 +08:00
local tmp="$(mktemp -d)"
local out="${DEPS}/_vim/$tag"
2019-10-13 22:16:53 +08:00
mkdir -p $out
2019-10-09 22:57:03 +08:00
git clone --depth 1 --single-branch $ext $URL $tmp
cd $tmp
2020-08-29 16:46:57 +08:00
./configure \
2019-10-09 22:57:03 +08:00
--with-features=huge \
--enable-pythoninterp \
--enable-python3interp \
2019-10-13 22:16:53 +08:00
--enable-luainterp \
--prefix=${out}
2020-08-29 16:46:57 +08:00
make
2019-10-13 22:16:53 +08:00
make install
}
2019-10-13 22:16:53 +08:00
install_nvim() {
local URL=https://github.com/neovim/neovim
local tag=$1
local tmp="$(mktemp -d)"
local out="${DEPS}/_neovim/$tag"
mkdir -p $out
2021-08-11 13:45:38 +08:00
curl -o $tmp/nvim-linux64.tar.gz -L "https://github.com/neovim/neovim/releases/download/$tag/nvim-linux64.tar.gz"
tar -xzvf $tmp/nvim-linux64.tar.gz -C $tmp
cp -r $tmp/nvim-linux64/* $out
chmod +x $out/bin/nvim
# fix ModuleNotFoundError: No module named 'setuptools'
python3 -m pip install -U setuptools
python3 -m pip install pynvim
2019-10-13 22:16:53 +08:00
}
2019-10-13 22:16:53 +08:00
install() {
local vim=$1
local tag=$2
2019-10-13 22:16:53 +08:00
if [[ -d "${DEPS}/_$vim/$tag/bin" ]]; then
echo "Use a cached version '$HOME/_$vim/$tag'."
return
fi
if [[ $vim == "nvim" ]]; then
install_nvim $tag
else
install_vim $tag
fi
}
2019-10-09 22:57:03 +08:00
2019-10-13 22:16:53 +08:00
install $@