helm/rake/pkg/vim.rake
2014-09-05 17:03:26 -04:00

66 lines
2.1 KiB
Ruby

desc "Ensure vim/macvim is installed and up to date"
task :vim => "vim:update"
namespace :vim do
task :install do
vim_path = File.expand_path("~/.vim")
if is_mac?
Package.install "lua"
%w{vim macvim}.each { |pkg| Package.install "#{pkg} --with-lua --with-luajit" }
elsif is_linux?
Package.install "lua5.1"
unless Dir.exists?(vim_path)
sh_safe "sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev ruby1.9-dev mercurial"
sh_safe "hg clone https://code.google.com/p/vim/ /tmp/vim"
sh_safe "cd /tmp/vim && ./configure --with-features=huge \
--enable-multibyte \
--enable-rubyinterp \
--enable-pythoninterp \
--enable-perlinterp \
--enable-luainterp \
--enable-clipboard \
--enable-cscope --prefix=/usr \
&& make VIMRUNTIMEDIR=/usr/share/vim/vim74
&& sudo make install"
sh_safe "rm -rf /tmp/vim"
end
end
Package.install "luajit"
unless Dir.exists?(vim_path)
github('hlissner/vim', vim_path)
github('Shougo/neobundle.vim', "#{vim_path}/bundle/neobundle.vim")
end
end
task :update => 'vim:install' do
path = File.expand_path("~/.vim")
echo "Updating vim"
sh_safe "cd #{path} && git pull"
echo "Updating vim plugins"
Dir.glob("#{path}/bundle/*") do |f|
echo ":: Updating #{File.basename(f)}:"
sh_safe "cd #{f} && git pull"
end
if is_linux?
echo "Can't update compiled vim itself! Use pkg:vim:install"
end
end
task :remove do
if is_mac?
echo "Uninstalling vim"
Package.remove "vim"
Package.remove "macvim"
end
end
end