Update 2014-08-21: The vim packages in Arch Linux have been reorganized: https://www.archlinux.org/news/reorganization-of-vim-packages/. The standard vim package should now contain Python support, so the recompile is not necessary anymore.
For my vim configuration, I need a version of Vim that was built with Python and Ruby support. Unfortunately, the default version of Vim that is installed with pacman doesn't support Python/Ruby.
The easiest way to solve this problem is to install the gvim package instead of vim (don't worry, the gvim package also includes a vim binary). But this brings along a huge amount of dependencies that I didn't want on my system, so there's no way around a package recompilation.
To ease the reconfiguration-process I found pacbuilder, a script to easily recompile single packages or even the whole system. Install it using yaourt (or manually if you prefer):
$ yaourt -S pacbuilder-svn
Then rebuild the vim and vim-runtime packages with the --edit option:
$ pacbuilder --install --edit vim vim-runtime
When the script asks you whether you want to edit the PKGBUILD file, answer with y. Then find the first line that looks like this:
./configure --prefix=/usr --localstatedir=/var/lib/vim \ --with-features=big --with-compiledby=ArchLinux \ --enable-gpm --enable-acl --with-x=no \ --disable-gui --enable-multibyte --enable-cscope \ --disable-netbeans --enable-perlinterp --disable-pythoninterp \ --disable-python3interp --disable-rubyinterp --disable-luainterp
Edit the configure options to your likings. In my case, I changed the following things:
- --disable-pythoninterp ⇒ --enable-pythoninterp
- --disable-python3interp ⇒ --enable-python3interp
- --disable-rubyinterp ⇒ --enable-rubyinterp
- --with-compiledby=ArchLinux ⇒ --with-compiledby="Custom Build (http://s.dbrgn.ch/uqK6)"
Also add python, python2 and ruby to the depends list inside the package_vim() function. Then save and close the PKGBUILD file.
Pacbuilder will now go on to compile and install your custom build of Vim. You can verify it with vim --version on the commandline.
Afterwards, if you want to prevent pacman from auto-upgrading your vim package, you can add vim and vim-runtime to the IgnorePkg variable in /etc/pacman.conf.