Alterar a configuração de compilação da instalação do pacote no brew

8

Como posso alterar a configuração do compilador quando uso a instalação brew? Quero compilar o vim com + farsi usando brew. Mas parece que + farsi não está disponível no brew:

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

Eu também tentei este comando:

$ 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

Mas ainda assim + farsi não é compilado com o 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

De fato, as únicas opções disponíveis são estas:

$ 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

Isso significa que apenas um subconjunto de configurações está disponível no brew?

bman
fonte

Respostas:

5
  1. brew install viminstala o vim 7.4.052
  2. vim --versionrelatórios versão 7.3

Da observação acima, é claramente aparente que esses são dois pontos diferentes. Ao executar, vim --versionvocê está chamando o vim fornecido como parte do OS X (você pode verificar isso por meio do which vimrelatório / usr / bin / vim , enquanto os programas criados pelo brew geralmente estão localizados no diretório / usr / local .

Para editar a fórmula do vim, você acabou de executar brew edit vim, mas não precisa fazer isso apenas para obter o suporte farsi desejado. Como você pode ver na tabela de recursos do Vim , o suporte farsi está incluído em qualquer compilação compilada --with-features=bigou enorme. Como compilações de compilação são compiladas --with-features=huge, elas já contêm suporte farsi.

/ usr / local / bin / vim --version
VIM - Vi IMproved 7.4 (10 de agosto de 2013, compilado em 1 de janeiro de 2014 14:31:50) Versão do
MacOS X (unix)
Patches incluídos: 1-52
Compilado pelo Homebrew
Versão enorme sem GUI . Recursos incluídos (+) ou não (-):

+ acl + farsi + mouse_netterm + sintaxe

Para usar a versão compilada do vim, você pode aliasá-lo alias vim='/usr/local/bin/vim'ou tentar qualquer outra opção .

Mr. Tao
fonte
qual vim retorna "/ usr / local / bin / vim". Este é o vim instalado pelo brew e não o vim instalado pelo OS X. No entanto, ainda quando executo o "vim --version", recebo -farsi. Parece que o "brew install" não escuta o arquivo de edição e não o compila com uma enorme opção. Alguma idéia de como eu posso depurar isso?
bman
@Dane /usr/local/bin/vim --versionTambém mostra -farsi ?
Tao
3

Você pode editar a fórmula do brew para o vim, que provavelmente está no /usr/local/Library/Formulae no arquivo chamado vim.rb. Você pode editar este arquivo e adicionar as opções necessárias nas linhas em que ele executa o processo de compilação, como system "make"ou

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

Eu não acho que apenas implemente algumas das opções, o brew cria dinamicamente as opções de compilação de acordo com o processo de compilação e os makefiles do aplicativo.

NEO
fonte