forked from Homebrew/legacy-homebrew
/
macvim.rb
96 lines (82 loc) · 3.42 KB
/
macvim.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
require 'formula'
class Macvim < Formula
homepage 'http://code.google.com/p/macvim/'
url 'https://github.com/b4winckler/macvim/tarball/snapshot-61'
version '7.3-61'
md5 '18218561913ae5d5ad68c1b6a6df5a1f'
head 'https://github.com/b4winckler/macvim.git', :branch => 'master'
def options
[
# Building custom icons fails for many users, so off by default.
["--custom-icons", "Try to generate custom document icons."],
["--with-cscope", "Build with Cscope support."],
["--with-envycoder", "Build with Envy Code R Bold font."],
["--override-system-vim", "Override system vim."],
["--enable-clipboard", "Enable System clipboard handling in the terminal."]
]
end
depends_on 'cscope' if ARGV.include? '--with-cscope'
def install
# MacVim's Xcode project gets confused by $CC, so remove it
ENV['CC'] = nil
ENV['CFLAGS'] = nil
ENV['CXX'] = nil
ENV['CXXFLAGS'] = nil
# Set ARCHFLAGS so the Python app (with C extension) that is
# used to create the custom icons will not try to compile in
# PPC support (which isn't needed in Homebrew-supported systems.)
arch = MacOS.prefer_64_bit? ? 'x86_64' : 'i386'
ENV['ARCHFLAGS'] = "-arch #{arch}"
args = ["--with-macsdk=#{MACOS_VERSION}",
"--with-features=huge",
"--with-tlib=ncurses",
"--enable-multibyte",
"--with-macarchs=#{arch}",
"--enable-perlinterp",
"--enable-pythoninterp",
"--enable-rubyinterp",
"--enable-tclinterp"]
args << "--enable-cscope" if ARGV.include? "--with-cscope"
args << "--enable-clipboard" if ARGV.include? "--enable-clipboard"
unless ARGV.include? "--custom-icons"
inreplace "src/MacVim/icons/Makefile", "$(MAKE) -C makeicns", ""
inreplace "src/MacVim/icons/make_icons.py", "dont_create = False", "dont_create = True"
end
if ARGV.include? "--with-envycoder"
# Font download location has changed.
# This is fixed in MacVim trunk, but not in the stable tarball.
inreplace "src/MacVim/icons/Makefile",
"http://download.damieng.com/latest/EnvyCodeR",
"http://download.damieng.com/fonts/original/EnvyCodeR-PR7.zip"
else
# Remove the font from the build dependencies
inreplace "src/MacVim/icons/Makefile",
'$(OUTDIR)/MacVim-generic.icns: make_icons.py vim-noshadow-512.png loadfont.so Envy\ Code\ R\ Bold.ttf',
"$(OUTDIR)/MacVim-generic.icns: make_icons.py vim-noshadow-512.png loadfont.so"
end
if `ruby -v` =~ /1\.9\.2/
onoe "Can't install MacVim with ruby 1.9.2. Please change your environment to use 1.8.7"
raise "Can't install MacVim using ruby 1.9.2"
else
ohai "Using Ruby that isn't 1.9"
end
system "make"
prefix.install "src/MacVim/build/Release/MacVim.app"
inreplace "src/MacVim/mvim", /^# VIM_APP_DIR=\/Applications$/,
"VIM_APP_DIR=#{prefix}"
bin.install "src/MacVim/mvim"
# Create MacVim vimdiff, view, ex equivalents
executables = %w[mvimdiff mview mvimex]
executables += %w[vi vim vimdiff view vimex] if ARGV.include? "--override-system-vim"
executables.each {|f| ln_s bin+'mvim', bin+f}
end
def caveats; <<-EOS.undent
MacVim.app installed to:
#{prefix}
To link the application to a normal Mac OS X location:
brew linkapps
or:
ln -s #{prefix}/MacVim.app /Applications
EOS
end
end