LINUX.ORG.RU

Как правильно собрать Vim?

 , ,


0

2

В Ubuntu-14-04 по умолчанию ставится Vim-7-4-052. Я попытался обновить редактор до последней версии - Vim-7-4-972.
Удалил старую версию - все пакеты с приставкой vim (vim, vim-common, vim-tiny, vim-runtime, gvim). Поборов ряд ошибок и предупреждений скомпилировал и установил новую. В результате получил пакет vim, вполне работоспособный. Ошибок при работе не наблюдалось.
На следующий день система захотела обновиться, в результате чего поставила недостающие пакеты (vim-common и vim-runtime) версии 052. В результате возникла ситуация несовпадения версий, приведшая к неработоспособности редактора - система удалила скомпилированный пакет vim.
Информацию, как скомпилировать недостающие пакеты не нашел. Подскажите, пожалуйста, как правильно решить мою задачку или в чем ошибки?
Порядок моих действий выкладываю ниже:
1.Обновляем репозиторий и систему
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential autoconf automake
Перезагружаемся

2.Удаляем сущестующий vim
sudo apt-get remove vim vim-runtime gvim
sudo apt-get remove vim-tiny vim-common vim-gui-common

3.Скачиваем свежую версию vim
cd ~
sudo apt-get install git
git clone https://github.com/vim/vim.git

4.Устанавливаем необходимые пакеты
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 \
ruby-dev
Дополнительно автоматически проверяем потребность vim в пакетах и устанавливаем их:
sudo apt-get build-dep vim
В инете вычитал рекомендацию дополнить проверку:
sudo apt-get build-dep libx11-dev libxtst-dev

5.Проверяем зависимости и собираем makefile
cd ~/vim/src
make clean
При сборке указываем пакеты, которые нужны/не нужны
./configure --with-compiledby=«if <my@gmail.com>» \
--with-features=huge \
--enable-multibyte \
--enable-rubyinterp \
--enable-pythoninterp \
--with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu \
--enable-perlinterp \
--enable-luainterp \
--enable-gui=gtk2
--disable-gtk-check
--disable-motif-check
--disable-athena-check
--disable-kde-check
--enable-cscope --prefix=/usr

6.Компилируем
make VIMRUNTIMEDIR=/usr/share/vim/vim74

7.Инсталируем
sudo apt-get install checkinstall //инсталируем checkinstall,
// если это уже не сделано
sudo checkinstall
В диалоговом режиме вводим
имя и email - if <my@mail.ru>
наименование пакета - vim
версию - 7.4.972-ubuntu

8.Проверяем версию
vim --version
Проверяем состав пакета
$ dpkg -l|grep vim


apt же зависимости по имени покета определяет, да (иначе чего бы он стал их устанавливать)? Возможно, тогда будет достаточно назвать пакет не vim, а как-то иначе.

xaizek ★★★★★ ()
Ответ на: комментарий от xaizek

Я думал над этим. Можно было и версию новому пакету старую присвоить... Но подумал, что это не вариант.

if ()
Ответ на: комментарий от if

не проблема, но лучше это делать, взяв спеки из новой версии убунты и пересобрав в правильный пакет (а не чекинсталлом).

//но я, как бывший вимер, советую emacs

lazyklimm ★★★★★ ()
Ответ на: комментарий от q11q11

neovim изначально консольный, gui пока есть только в виде плагинов

t1nman ()
Ответ на: комментарий от lazyklimm

лучше это делать, взяв спеки из новой версии убунты и пересобрав в правильный пакет

спасибо, за подсказку, пойду искать, как это делается

if ()
Ответ на: комментарий от if

не знаю, как это делается автоматом, можно пойти на

http://packages.ubuntu.com/xenial/vim

узреть там

Download Source Package vim:

    [vim_7.4.826-1ubuntu1.dsc]
    [vim_7.4.826.orig.tar.gz]
    [vim_7.4.826-1ubuntu1.debian.tar.xz]

скачать все три файла в одно место, потом натравить dpkg-source -x на dsc, перейти в распакованный каталог и сделать dpkg-buildpackage (флаги, чтобы собирать только бинарник не помню, в мане читай).

Да, предварительно apt-get build-dep vim, естественно.

lazyklimm ★★★★★ ()

Как вариант, собрать еще раз пакет vim, а затем заблокировать его изменение: #apt-mark hold vim

Faiver ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.