Cambiar la configuración de compilación de la instalación del paquete en brew

8

¿Cómo puedo cambiar la configuración del compilador cuando uso brew install? Quiero compilar vim con + farsi usando brew. Pero parece que + farsi no está disponible en brew:

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

También probé 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

Pero aún así + farsi no está compilado 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

De hecho, las únicas opciones disponibles son 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

¿Esto significa que solo un subconjunto de configuraciones están disponibles en brew?

bman
fuente

Respuestas:

5
  1. brew install viminstala vim 7.4.052
  2. vim --versionInformes versión 7.3

De la observación anterior es claramente evidente que estos son dos vims diferentes. Al ejecutar vim --version, está invocando vim suministrado como parte de OS X (puede verificar esto mediante which vim, que informará / usr / bin / vim , mientras que los programas brew-build generalmente se encuentran en el directorio / usr / local .

Para editar la fórmula vim que acaba de ejecutar brew edit vim, no necesita hacer esto solo para obtener el soporte farsi deseado. Como puede ver en la tabla de características de Vim , el soporte farsi se incluye con cualquier compilación compilada --with-features=bigo enorme. A medida que se compilan las versiones brew --with-features=huge, ya contienen soporte farsi.

/ usr / local / bin / vim --version
VIM - Vi IMproved 7.4 (10 de agosto de 2013, compilado el 1 de enero de 2014 14:31:50) Versión de
MacOS X (unix)
Parches incluidos: 1-52
Compilado por Homebrew
Versión enorme sin GUI . Características incluidas (+) o no (-):

+ acl + farsi + mouse_netterm + sintaxis

Para usar la versión de vim creada por brew, es posible que desee usar un alias alias vim='/usr/local/bin/vim'o probar cualquiera de las otras opciones .

Señor tao
fuente
que vim devuelve "/ usr / local / bin / vim". Este es el vim instalado por brew, no el vim instalado por OS X. Sin embargo, cuando ejecuto "vim --version" obtengo -farsi. Parece que "brew install" no escucha el archivo de edición y no lo compila con una gran opción. ¿Alguna idea de cómo puedo depurar esto?
bman
@Dane ¿ /usr/local/bin/vim --versionTambién muestra -farsi ?
Sr. Tao
3

Puede editar la fórmula del brew para vim, que probablemente esté en /usr/local/Library/Formulay en el archivo llamado vim.rb. Puede editar este archivo y agregar las opciones necesarias en las líneas donde ejecuta el proceso de compilación, como system "make"o

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

No creo que solo implemente algunas de las opciones, la creación dinámica crea las opciones de compilación de acuerdo con el proceso de compilación de la aplicación y los archivos MAKE.

NEO
fuente