Zmień konfigurację kompilacji instalacji pakietu w naparze

8

Jak mogę zmienić konfigurację kompilatora, gdy korzystam z instalacji brew? Chcę skompilować vima z + farsi przy użyciu naparu. Wygląda jednak na to, że + farsi nie jest dostępna w naparze:

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

Próbowałem także tego polecenia:

$ 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

Ale nadal + farsi nie jest kompilowany z vimem:

[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

W rzeczywistości jedynymi dostępnymi opcjami są:

$ 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

Czy to oznacza, że ​​w parzeniu dostępny jest tylko podzbiór konfiguracji?

bman
źródło

Odpowiedzi:

5
  1. brew install viminstaluje vim 7.4.052
  2. vim --versionwersja raportów 7.3

Z powyższej obserwacji jasno wynika, że ​​są to dwa różne rodzaje. Wykonując polecenie vim --version, wywołujesz vim dostarczony jako część OS X (możesz to sprawdzić przez which vim, który będzie raportował / usr / bin / vim , podczas gdy programy budowane przez browar zwykle znajdują się w katalogu / usr / local) .

Aby edytować formułę vim, którą właśnie uruchomiłeś brew edit vim, nie musisz tego robić, aby uzyskać pożądaną obsługę farsi. Jak widać z Tabeli funkcji Vima , obsługa farsi jest zawarta w każdej kompilacji skompilowanej z --with-features=biglub ogromnej. Kiedy kompilacje kompilacji są kompilowane --with-features=huge, zawierają one już obsługę farsi.

/ usr / local / bin / vim --version
VIM - Vi IMproved 7.4 (10 sierpnia 2013, skompilowano 1 stycznia 2014 14:31:50) Wersja
MacOS X (unix)
Zawarte łaty: 1-52
Kompilacja Homebrew
Ogromna wersja bez GUI . Funkcje zawarte (+) lub nie (-):

+ acl + farsi + mouse_netterm + składnia

Aby użyć wersji vima zbudowanej z brew, możesz chcieć ją aliasować alias vim='/usr/local/bin/vim'lub wypróbować dowolną inną opcję .

Pan Tao
źródło
który vim zwraca „/ usr / local / bin / vim”. To jest vim zainstalowany przez brew, a nie vim zainstalowany przez OS X. Jednak nadal, kiedy wykonuję „vim --version”, otrzymuję -farsi. Wygląda na to, że „brew install” nie słucha pliku edycji i nie kompiluje go z ogromną opcją. Masz pomysł, jak mogę to debugować?
bman
@Dane Pokazuje /usr/local/bin/vim --versionrównież -farsi ?
Pan Tao
3

Możesz edytować formułę naparu dla vima, który prawdopodobnie znajduje się /usr/local/Library/Formulaw pliku o nazwie vim.rb. Możesz edytować ten plik i dodać potrzebne opcje w wierszach, w których wykonuje on proces kompilacji, takich jak system "make"lub

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

Nie sądzę, że po prostu implementuje niektóre opcje, brew dynamicznie tworzy opcje kompilacji zgodnie z procesem kompilacji aplikacji i makefile.

NEO
źródło