5/28/10

Compiling Vim 7.2 - Mac Snow Leopard


Afin d'éviter des commentaires inutiles, je connais l'existence de MacVim mais je ne veux pas l'utiliser pour différentes raisons.

Pourquoi compiler une autre version de Vim ?

Par défaut, la version de Vim livrée avec Snow Leopard ne supporte pas l'interpréteur ruby et python. Je ne comprends pas pourquoi Monsieur Apple ne compile pas ces options pour Vim alors qu'il livre par défaut une version de Ruby et Python. C'est plutôt incohérent.

Je me fais ici un bloc-notes (comme souvent) qui pourra servir à d'autres.

Récupérer les tarballs de Vim 7.2

On récupère tous les tarballs pour disposer d'une version francisée et également pour pouvoir appliquer les patches sur les sources :

wget ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2
wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz
wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz

Déployer les sources de Vim 7.2

bzip2 -dc vim-7.2.tar.bz2 | tar xvf -
tar xvzf vim-7.2-extra.tar.gz
tar xvzf vim-7.2-lang.tar.gz

Appliquer les patches

Les patches pour Vim 7.2 se récupèrent sur ftp://ftp.vim.org/pub/vim/patches/7.2/.

mkdir vim72-patch && cd !$
wget ftp://ftp.vim.org/pub/vim/patches/7.2/*

On applique un patch en tapant patch -p0 < ../vim72-patch/7.2.001 (en étant dans le répertoire vim72 bien évidemment). Comme il y a, à ce jour, plus de 400 patches, il est vivement conseillé de se faire un script pour ne pas y passer trop de temps. Pour information, la version de Vim livrée avec Snow Leopard ne comporte que les 108 premiers patches. J'ai personnellement appliqué tous les patches car il y a quand même quelques patches plus que nécessaires après le 108.

Préparer un fichier avec ses options de compilation

Créer son fichier avec ses options de compilation est amha le moyen le plus efficace pour modifier ses options et/ou appliquer ses options sur une prochaine version de Vim (on met juste le fichier de côté pour une utilisation ultérieure). Voici le contenu de mon fichier vim_comp_options :

export CONF_OPT_X="--without-x"
export CONF_OPT_GUI="--disable-gui"
export CONF_OPT_PYTHON="--enable-pythoninterp"
export CONF_OPT_RUBY="--enable-rubyinterp"
export CONF_OPT_CSCOPE="--enable-cscope"
export CONF_OPT_MULTIBYTE="--enable-multibyte"
export CONF_OPT_COMPBY="--with-compiledby='Bruno Carrere'"

Il suffit de sourcer le fichier depuis le term utilisé pour configurer et compiler Vim en tapant :

source path_vers_fichier/vim_comp_options
Vous pouvez contrôler que les options de configurations sont bien prises en compte en tapant env|grep CONF.

Configuration et compilation de Vim

cd vim72/src
make config
make
sudo make install

Pour ceux qui ne veulent pas appliquer les patches

Dans ce cas, on rencontre pas mal de soucis et il faut procéder à des aménagements au niveau des options de compilation.

On commence classiquement :

cd vim72/src
make config

On édite ensuite le /vim72/src/auto/config.mk comme suit :

DEFS            = -DHAVE_CONFIG_H -D_FORTIFY_SOURCE=0
CFLAGS          = -g -Os -pipe -mdynamic-no-pic
LDFLAGS         = -L. -arch x86_64  -L/usr/local/lib
puis on procède normalement pour la fin :
make
sudo make install

Je ne conseille vraiment pas cette méthode mais je la renseigne quand même car j'ai vu sur le net pas mal de personnes ayant des soucis avec la compilation de Vim dès lors qu'on n'applique pas les patches et qu'on se cantonne à une base 7.2 (et non 7.2.438 en appliquant tous les patches).

Vim PoWa !

0 Commentaire

Post a Comment