Modifica la configurazione di compilazione dell'installazione del pacchetto in brew


8

Come posso modificare la configurazione del compilatore quando uso brew install? Voglio compilare vim con + farsi usando brew. Ma sembra che + farsi non sia disponibile nelle opzioni brew:

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

Ho anche provato questo 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

Ma ancora + farsi non è compilato con 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

In effetti le uniche opzioni disponibili sono queste:

$ 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

Questo significa che solo un sottoinsieme di configurazioni è disponibile in infusione?

Risposte:


5
  1. brew install viminstalla vim 7.4.052
  2. vim --versionriporta la versione 7.3

Dall'osservazione di cui sopra è chiaramente evidente che si tratta di due vitalità diverse. Eseguendo vim --versionsi sta invocando vim fornito come parte di OS X (è possibile verificarlo which vim, che riporterà / usr / bin / vim , mentre i programmi creati da brew si trovano di solito nella directory / usr / local .

Per modificare la formula di VIM è sufficiente eseguire brew edit vim, ma non è necessario farlo solo per ottenere il supporto desiderato. Come puoi vedere da Vim Feature Table , il supporto di farsi è incluso in qualsiasi build compilata --with-features=bigo enorme. Man mano che vengono compilate le build della birra --with-features=huge, contengono già supporto farsi.

/ usr / local / bin / vim --version
VIM - Vi IMproved 7.4 (10 agosto 2013, compilato il 1 gennaio 2014 14:31:50
) Versione MacOS X (unix)
Patch incluse: 1-52
Compilato da Homebrew
Versione enorme senza GUI . Funzionalità incluse (+) o no (-):

+ acl + farsi + mouse_netterm + sintassi

Per utilizzare la versione brew di vim con cui ti piacerebbe alias alias vim='/usr/local/bin/vim', o provare una qualsiasi delle altre opzioni .


quale vim restituisce "/ usr / local / bin / vim". Questo è il vim installato da brew, non il vim installato da OS X. Comunque, quando eseguo "vim --version", ottengo -farsi. Sembra che "brew install" non ascolti il ​​file di modifica e non lo compili con un'enorme opzione. Qualche idea su come posso eseguire il debug di questo?
Bman,

@Dane /usr/local/bin/vim --versionMostra anche -farsi ?
Mr. Tao,

3

È possibile modificare la formula del brew per vim che è probabilmente in /usr/local/Library/Formulae nel file denominato vim.rb. È possibile modificare questo file e aggiungere le opzioni necessarie nelle righe in cui esegue il processo di compilazione come system "make"o

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

Non credo che implementa solo alcune delle opzioni, crea automaticamente le opzioni di compilazione in base al processo di compilazione dell'applicazione e ai makefile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.