Ubah kompilasi konfigurasi instalasi paket dalam minuman

8

Bagaimana saya bisa mengubah konfigurasi kompiler ketika saya menggunakan brew install? Saya ingin mengkompilasi vim dengan + farsi menggunakan brew. Tetapi tampaknya + farsi bukanlah opsi yang tersedia dalam minuman:

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

Saya juga mencoba perintah ini:

$ 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

Tetapi masih + farsi tidak dikompilasi dengan 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

Sebenarnya satu-satunya pilihan yang tersedia adalah ini:

$ 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

Apakah ini berarti hanya subset konfigurasi yang tersedia dalam minuman?

bman
sumber

Jawaban:

5
  1. brew install vimmenginstal vim 7.4.052
  2. vim --versionmelaporkan versi 7.3

Dari pengamatan di atas jelas terlihat bahwa ini adalah dua vim yang berbeda. Dengan mengeksekusi vim --versionAnda menjalankan vim yang disediakan sebagai bagian dari OS X (Anda dapat memeriksanya dengan which vim, yang akan melaporkan / usr / bin / vim , sementara program buatan-pabrik biasanya terletak di bawah direktori / usr / local .

Untuk mengedit formula vim yang baru saja Anda jalankan brew edit vim, namun Anda tidak perlu melakukan ini hanya untuk mendapatkan dukungan farsi yang Anda inginkan. Seperti yang dapat Anda lihat dari Tabel Fitur Vim , dukungan farsi disertakan dengan build apa pun yang dikompilasi --with-features=bigatau besar. Ketika kompilasi brew build dikompilasi --with-features=huge, mereka sudah mengandung dukungan farsi.

/ usr / local / bin / vim --version
VIM - Vi IMproved 7.4 (2013 10 Agustus, disusun Jan 1 2014 14:31:50) Versi
MacOS X (unix)
Termasuk tambalan: 1-52
Disusun oleh Homebrew
Versi besar tanpa GUI . Termasuk fitur (+) atau tidak (-):

+ acl + farsi + mouse_netterm + sintaks

Untuk menggunakan versi vim buatan buatan, Anda mungkin ingin menggunakannya alias vim='/usr/local/bin/vim', atau mencoba opsi lainnya .

Tuan Tao
sumber
yang vim mengembalikan "/ usr / local / bin / vim". Ini adalah vim yang diinstal oleh brew bukan vim yang diinstal oleh OS X. Namun masih ketika saya menjalankan "vim --version", saya mendapatkan -farsi. Sepertinya "brew install" tidak mendengarkan file edit dan tidak mengkompilasinya dengan opsi besar. Ada ide bagaimana saya bisa men-debug ini?
bman
@Dane Apakah /usr/local/bin/vim --versionjuga menunjukkan -farsi ?
Tuan Tao
3

Anda dapat mengedit formula brew untuk vim yang mungkin di /usr/local/Library/Formuladan di file bernama vim.rb. Anda dapat mengedit file ini dan menambahkan opsi yang dibutuhkan di baris tempat ia menjalankan proses kompilasi seperti system "make"atau

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

Saya tidak berpikir bahwa itu hanya mengimplementasikan beberapa opsi, menyeduh secara dinamis membuat opsi kompilasi sesuai dengan proses kompilasi aplikasi dan makefile.

NEO
sumber