Modifier la configuration de compilation de l'installation du package dans brew

8

Comment puis-je changer la configuration du compilateur lorsque j'utilise l'installation de brew? Je veux compiler vim avec + farsi en utilisant brew. Mais il semble que + farsi ne soit pas disponible dans les options de brassage:

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

J'ai également essayé cette commande:

$ 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

Mais encore + farsi n'est pas compilé avec 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

En fait, les seules options disponibles sont les suivantes:

$ 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

Est-ce à dire que seul un sous-ensemble de configurations est disponible en brassage?

bman
la source

Réponses:

5
  1. brew install viminstalle vim 7.4.052
  2. vim --versionrapports version 7.3

De l'observation ci-dessus, il apparaît clairement qu'il s'agit de deux vims différents. En exécutant, vim --versionvous invoquez vim fourni dans le cadre d'OS X (vous pouvez le vérifier par which vim, qui va signaler / usr / bin / vim , tandis que les programmes créés par brew sont généralement situés dans le répertoire / usr / local .

Pour modifier la formule vim que vous exécutez brew edit vim, vous n'avez pas besoin de le faire juste pour obtenir le support farsi souhaité. Comme vous pouvez le voir dans Vim Feature Table , la prise en charge du farsi est incluse avec toute version compilée avec --with-features=bigou énorme. Au fur et à mesure que les versions de brew sont compilées --with-features=huge, elles contiennent déjà un support en farsi.

/ usr / local / bin / vim --version
VIM - Vi IMproved 7.4 (10 août 2013, compilé le 1er janvier 2014 14:31:50) Version
MacOS X (unix) Correctifs
inclus: 1-52
Compilé par Homebrew
Version énorme sans interface graphique . Fonctionnalités incluses (+) ou non (-):

+ acl + farsi + mouse_netterm + syntaxe

Pour utiliser la version de vim construite par brassage, vous aimerez peut-être l'alias avec alias vim='/usr/local/bin/vim', ou essayez l'une des autres options .

M. Tao
la source
lequel vim renvoie "/ usr / local / bin / vim". Il s'agit du vim installé par brew et non du vim installé par OS X. Cependant, quand j'exécute "vim --version", je reçois -farsi. Il semble que "brew install" n'écoute pas le fichier d'édition et ne le compile pas avec une énorme option. Une idée comment je peux déboguer cela?
bman
@Dane Affiche /usr/local/bin/vim --versionégalement -farsi ?
M. Tao
3

Vous pouvez modifier la formule de l'infusion pour vim qui se trouve probablement dans /usr/local/Library/Formulaet dans le fichier nommé vim.rb. Vous pouvez éditer ce fichier et ajouter vos options nécessaires dans les lignes où il exécute le processus de compilation tel que system "make"ou

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

Je ne pense pas qu'il implémente simplement certaines des options, brew crée dynamiquement les options de compilation en fonction du processus de compilation de l'application et des makefiles.

NÉO
la source