Изменить компилируемую конфигурацию установки пакета в brew

8

Как я могу изменить конфигурацию компилятора при использовании brew install? Я хочу скомпилировать vim с помощью + фарси, используя brew. Но похоже, что + фарси нет доступных вариантов в brew:

$ brew install +farsi vim
Error: No available formula for +farsi

Я также попробовал эту команду:

$ brew install vim --+farsi
==> Downloading http://ftp.debian.org/debian/pool/main/v/vim/vim_7.4.052.orig.tar.gz
Already downloaded: /Library/Caches/Homebrew/vim-7.4.052.tar.gz
==> Patching
patching file src/auto/configure
patching file src/osdef.sh
patching file src/os_mac.h
==> ./configure --prefix=/usr/local --mandir=/usr/local/Cellar/vim/7.4.052/share/man --enable-multibyte --with-tlib=ncur
==> make
==> make install prefix=/usr/local/Cellar/vim/7.4.052 STRIP=/usr/bin/true

Но все равно + фарси не компилируется с vim:

[ben@thebeast ~/vim/vim74]$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Aug 24 2013 18:58:47)
Compiled by root@apple.com
Normal version without GUI.  Features included (+) or not (-):
-farsi

На самом деле доступны только следующие варианты:

$ brew options vim
--disable-nls
    Build vim without National Language Support (translated messages, keymaps)
--override-system-vi
    Override system vi
--with-client-server
    Enable client/server mode
--with-lua
    Build vim with lua support
--with-mzscheme
    Build vim with mzscheme support
--with-perl
    Build vim with perl support
--with-python3
    Build vim with python3 support
--with-tcl
    Build vim with tcl support
--without-python
    Build vim without python support
--without-ruby
    Build vim without ruby support
--HEAD
    install HEAD version

Означает ли это, что в brew доступно только подмножество конфигураций?

Ътап
источник

Ответы:

5
  1. brew install vimустанавливает vim 7.4.052
  2. vim --versionсообщает о версии 7.3

Из вышеприведенного наблюдения ясно видно, что это две разные темы. Выполнив, vim --versionвы вызываете vim, поставляемый как часть OS X (вы можете проверить это с помощью which vimотчета / usr / bin / vim , в то время как программы, собранные с помощью brew, обычно находятся в каталоге / usr / local .

Чтобы отредактировать формулу vim, вы просто выполняете ее brew edit vim, но вам не нужно делать это только для того, чтобы получить желаемую поддержку фарси. Как вы можете видеть из Vim Feature Table , поддержка фарси включена в любую сборку, скомпилированную --with-features=bigили огромную. Поскольку сборки brew компилируются --with-features=huge, они уже содержат поддержку фарси.

/ usr / local / bin / vim --version
VIM - Vi IMproved 7.4 (10 августа 2013 г., скомпилировано 1 января 2014 г. 14:31:50) Версия
MacOS X (unix)
Включены исправления: 1-52
Скомпилировано с помощью Homebrew
Huge version без графического интерфейса пользователя , Функции включены (+) или нет (-):
ac
+ acl + фарси + mouse_netterm + синтаксис

Чтобы использовать встроенную версию vim, вы можете использовать псевдоним alias vim='/usr/local/bin/vim'или использовать любую другую опцию .

Мистер тао
источник
который vim возвращает "/ usr / local / bin / vim". Это vim, установленный brew, а не vim, установленным OS X. Однако, когда я выполняю "vim --version", я получаю -farsi. Похоже, что "brew install" не слушает файл редактирования и не компилирует его с огромной опцией. Любая идея, как я могу отладить это?
Ътап
@ Дейн /usr/local/bin/vim --versionтакже показывает -farsi ?
г-н Тао
3

Вы можете редактировать формулу варева для vim, которая, вероятно, находится в /usr/local/Library/Formulaи в названном файле vim.rb. Вы можете отредактировать этот файл и добавить необходимые параметры в строках, где он выполняет процесс компиляции, например, system "make"или

system "./configure", "--prefix=#{HOMEBREW_PREFIX}",
                      "--mandir=#{man}",
                      "--enable-multibyte",
                      "--with-tlib=ncurses",
                      "--enable-cscope",
                      "--with-features=huge",
                      "--with-compiledby=Homebrew",
                      *opts

Я не думаю, что он просто реализует некоторые параметры, brew динамически создает параметры компиляции в соответствии с процессом компиляции приложения и make-файлами.

НЕО
источник