読者です 読者をやめる 読者になる 読者になる

macvim-kaoriya or macvimをビルドする(2015/08)

vim 7.4.774で追加された v:completed_item をmacvim-kaoriyaで使いたくなったけど今日の時点だとまだバージョン7.4.769なので使えない...
Homebrewからインストールできるらしいけど手元の環境ではエラーが出たのでコンソールからビルドしてみる。

2015/08/26追記

エラーの原因は古いrecipeを参照しているせいでした。

brew tap splhack/homebrew-splhack
brew install --HEAD splhack/splhack/macvim-kaoriya

でHomebrewからインストールできたので以下は通常用途では使う必要なさそう。

  • vim本体のソースを変更したい
  • if_*を/usr/local以外のバージョンで使いたい

時くらいか。。。


ソースのダウンロード
  • macvim-kaoriya
git clone https://github.com/splhack/macvim

or

  • macvim
git clone https://github.com/b4winckler/macvim
ビルド

このビルドスクリプト

gist.github.com

macvimディレクトリで実行する。

cd macvim
./build-macvim.sh
実行
open src/MacVim/build/Release/MacVim.app

とりあえず動いた。

  • macvim-kaoriya
:version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug 23 2015 20:28:09)
MacOS X (unix) version
Included patches: 1-826
Compiled by daisuzu <daisuzu@gmail.com>
Huge version with MacVim GUI.  Features included (+) or not (-):
+acl             +cmdline_info    +emacs_tags      -gettext         +listcmds        +mouse_netterm   +persistent_undo +signs           +termresponse    +wildignore
+arabic          +comments        +eval            +guess_encode    +localmap        +mouse_sgr       +postscript      +smartindent     +textobjects     +wildmenu
+autocmd         +conceal         +ex_extra        -hangul_input    +lua/dyn         -mouse_sysmouse  +printer         -sniff           +title           +windows
+balloon_eval    +cryptv          +extra_search    +iconv           +menu            +mouse_urxvt     +profile         +startuptime     +toolbar         +writebackup
+browse          +cscope          +farsi           +insert_expand   +migemo          +mouse_xterm     +python/dyn      +statusline      +transparency    -X11
++builtin_terms  +cursorbind      +file_in_path    +jumplist        +mksession       +multi_byte      +python3/dyn     -sun_workshop    +user_commands   -xfontset
+byte_offset     +cursorshape     +find_in_path    +keymap          +modify_fname    +multi_lang      +quickfix        +syntax          +vertsplit       +xim
+cindent         +dialog_con_gui  +float           +kaoriya         +mouse           -mzscheme        +reltime         +tag_binary      +virtualedit     -xsmp
+clientserver    +diff            +folding         +langmap         +mouseshape      +netbeans_intg   +rightleft       +tag_old_static  +visual          -xterm_clipboard
+clipboard       +digraphs        -footer          +libcall         +mouse_dec       +odbeditor       +ruby/dyn        -tag_any_white   +visualextra     -xterm_save
+cmdline_compl   +dnd             +fork()          +linebreak       -mouse_gpm       +path_extra      -ruby19          -tcl             +viminfo         -xpm
+cmdline_hist    -ebcdic          +fullscreen      +lispindent      -mouse_jsbterm   +perl/dyn        +scrollbind      +terminfo        +vreplace        
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe  -DMACOS_X_UNIX  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1       
Linking: gcc   -L. -L/usr/local/lib -L. -L/usr/local/lib  -L/usr/local/lib -o Vim -framework Cocoa -framework Carbon       -lm  -lncurses -liconv -lmigemo -framework Cocoa  -pagezero_size 10000 -image_base 100000000  -pagezero_size 10000 -image_base 100000000  -fstack-protector  -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE 
  • macvim
:version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug 23 2015 20:37:09)
MacOS X (unix) version
Included patches: 1-383
Compiled by daisuzu <daisuzu@gmail.com>
Huge version with MacVim GUI.  Features included (+) or not (-):
+acl             +cmdline_info    +emacs_tags      -gettext         +lua/dyn         +mouse_urxvt     +profile         +statusline      +transparency    -X11
+arabic          +comments        +eval            -hangul_input    +menu            +mouse_xterm     +python/dyn      -sun_workshop    +user_commands   -xfontset
+autocmd         +conceal         +ex_extra        +iconv           +mksession       +multi_byte      +python3/dyn     +syntax          +vertsplit       +xim
+balloon_eval    +cryptv          +extra_search    +insert_expand   +modify_fname    +multi_lang      +quickfix        +tag_binary      +virtualedit     -xsmp
+browse          +cscope          +farsi           +jumplist        +mouse           -mzscheme        +reltime         +tag_old_static  +visual          -xterm_clipboard
++builtin_terms  +cursorbind      +file_in_path    +keymap          +mouseshape      +netbeans_intg   +rightleft       -tag_any_white   +visualextra     -xterm_save
+byte_offset     +cursorshape     +find_in_path    +langmap         +mouse_dec       +odbeditor       +ruby/dyn        -tcl             +viminfo         -xpm
+cindent         +dialog_con_gui  +float           +libcall         -mouse_gpm       +path_extra      +scrollbind      +terminfo        +vreplace        
+clientserver    +diff            +folding         +linebreak       -mouse_jsbterm   +perl/dyn        +signs           +termresponse    +wildignore      
+clipboard       +digraphs        -footer          +lispindent      +mouse_netterm   +persistent_undo +smartindent     +textobjects     +wildmenu        
+cmdline_compl   +dnd             +fork()          +listcmds        +mouse_sgr       +postscript      -sniff           +title           +windows         
+cmdline_hist    -ebcdic          +fullscreen      +localmap        -mouse_sysmouse  +printer         +startuptime     +toolbar         +writebackup     
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe  -DMACOS_X_UNIX  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1      
Linking: gcc   -L. -L/usr/local/lib -L. -L/usr/local/lib  -L/usr/local/lib -o Vim -framework Cocoa -framework Carbon       -lm  -lncurses -liconv -framework Cocoa  -pagezero_size 10000 -image_base 100000000  -fstack-protector  -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE 

gettext-mkやif_*の言語は全部Homebrew経由でインストールした。
luaenv、pyenv、rbenvあたりが有効だと多分ビルドできないので無効にするか以下を正しく設定する。

  • --with-lua-prefix
  • --with-lua52-prefix
  • --with-python-config-dir
  • --with-python3-config-dir
  • --with-ruby-command