Ändern Sie die Kompilierungskonfiguration der Paketinstallation in Brew

8

Wie kann ich die Compilerkonfiguration ändern, wenn ich Brew Install verwende? Ich möchte vim mit + farsi mit brau kompilieren. Aber es scheint, dass + farsi keine verfügbaren Optionen im Gebräu sind:

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

Ich habe auch diesen Befehl ausprobiert:

$ 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

Trotzdem wird + farsi nicht mit vim kompiliert:

[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

Tatsächlich stehen nur folgende Optionen zur Verfügung:

$ 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

Bedeutet dies, dass nur eine Teilmenge der Konfigurationen in Brew verfügbar ist?

bman
quelle

Antworten:

5
  1. brew install viminstalliert vim 7.4.052
  2. vim --versionmeldet Version 7.3

Aus der obigen Beobachtung ist klar ersichtlich, dass dies zwei verschiedene Vims sind. Durch Ausführen vim --versionrufen Sie vim auf, das als Teil von OS X bereitgestellt wird (Sie können dies überprüfen, indem Sie / usr / bin / vimwhich vim melden , während sich von Brew erstellte Programme normalerweise im Verzeichnis / usr / local befinden .

Um die vim-Formel zu bearbeiten, die Sie gerade ausführen brew edit vim, müssen Sie dies jedoch nicht tun, um die gewünschte Farsi-Unterstützung zu erhalten. Wie Sie der Vim Feature Table entnehmen können, ist die Farsi-Unterstützung in jedem Build enthalten, der mit kompiliert wurde --with-features=bigoder sehr umfangreich ist . Da Brew Builds kompiliert werden --with-features=huge, enthalten sie bereits Farsi-Unterstützung.

/ usr / local / bin / vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, kompiliert 1. Januar 2014 14:31:50)
MacOS X (Unix) -Version
Enthaltene Patches: 1-52
Kompiliert von Homebrew
Riesige Version ohne GUI . Funktionen enthalten (+) oder nicht (-):

+ acl + farsi + mouse_netterm + syntax

Um eine von Brew erstellte Version von vim zu verwenden, möchten Sie möglicherweise einen Alias ​​verwenden alias vim='/usr/local/bin/vim'oder eine andere Option ausprobieren .

Herr Tao
quelle
welches vim "/ usr / local / bin / vim" zurückgibt. Dies ist das von Brew installierte vim, nicht das von OS X installierte vim. Wenn ich jedoch "vim --version" ausführe, erhalte ich -farsi. Es scheint, als würde "Brew Install" die Bearbeitungsdatei nicht anhören und sie nicht mit einer großen Option kompilieren. Irgendeine Idee, wie ich das debuggen kann?
Bman
@Dane Zeigt /usr/local/bin/vim --versionauch -farsi an ?
Herr Tao
3

Sie können die Formel des Gebräus für vim bearbeiten, die sich wahrscheinlich in /usr/local/Library/Formulaund in der Datei mit dem Namen befindet vim.rb. Sie können diese Datei bearbeiten und die erforderlichen Optionen in den Zeilen hinzufügen, in denen der Kompilierungsprozess ausgeführt wird, z. B. system "make"oder

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

Ich denke nicht, dass es nur einige der Optionen implementiert, Brew erstellt dynamisch die Kompilierungsoptionen entsprechend dem Kompilierungsprozess und den Makefiles der Anwendung.

NEO
quelle