d38c5f26b8
Vim sees patchlevel release every few days (and recently, several times per day). This is too often to be updating the formula and prompting upgrades for users who don't care to update that frequently. It is also a vector for bugs when new development is happening upstream (e.g. the recent regexp engine switch). So this package now tracks debian-unstable. People who want to live on the bleeding edge can still use --HEAD like any other formula.
64 lines
2.5 KiB
Ruby
64 lines
2.5 KiB
Ruby
require 'formula'
|
|
|
|
class Vim < Formula
|
|
homepage 'http://www.vim.org/'
|
|
# This package tracks debian-unstable: http://packages.debian.org/unstable/vim
|
|
url 'http://ftp.de.debian.org/debian/pool/main/v/vim/vim_7.3.923.orig.tar.gz'
|
|
sha1 'f308d219dd9c6b56e84109ace4e7487a101088f5'
|
|
head 'https://vim.googlecode.com/hg/'
|
|
|
|
env :std # To find interpreters
|
|
|
|
depends_on :hg => :build if build.head?
|
|
|
|
LANGUAGES = %w(lua mzscheme perl python python3 tcl ruby)
|
|
DEFAULT_LANGUAGES = %w(ruby python)
|
|
|
|
option "override-system-vi", "Override system vi"
|
|
LANGUAGES.each do |language|
|
|
option "with-#{language}", "Build vim with #{language} support"
|
|
option "without-#{language}", "Build vim without #{language} support"
|
|
end
|
|
|
|
option "disable-nls", "Build vim without National Language Support (translated messages, keymaps)"
|
|
|
|
def install
|
|
ENV['LUA_PREFIX'] = HOMEBREW_PREFIX
|
|
|
|
language_opts = LANGUAGES.map do |language|
|
|
if DEFAULT_LANGUAGES.include? language and !build.include? "without-#{language}"
|
|
"--enable-#{language}interp"
|
|
elsif build.include? "with-#{language}"
|
|
"--enable-#{language}interp"
|
|
end
|
|
end.compact
|
|
|
|
opts = language_opts
|
|
opts << "--disable-nls" if build.include? "disable-nls"
|
|
|
|
# XXX: Please do not submit a pull request that hardcodes the path
|
|
# to ruby: vim can be compiled against 1.8.x or 1.9.3-p385 and up.
|
|
# If you have problems with vim because of ruby, ensure a compatible
|
|
# version is first in your PATH when building vim.
|
|
|
|
# We specify HOMEBREW_PREFIX as the prefix to make vim look in the
|
|
# the right place (HOMEBREW_PREFIX/share/vim/{vimrc,vimfiles}) for
|
|
# system vimscript files. We specify the normal installation prefix
|
|
# when calling "make install".
|
|
system "./configure", "--prefix=#{HOMEBREW_PREFIX}",
|
|
"--mandir=#{man}",
|
|
"--enable-gui=no",
|
|
"--without-x",
|
|
"--enable-multibyte",
|
|
"--with-tlib=ncurses",
|
|
"--enable-cscope",
|
|
"--with-features=huge",
|
|
*opts
|
|
system "make"
|
|
# If stripping the binaries is not enabled, vim will segfault with
|
|
# statically-linked interpreters like ruby
|
|
# http://code.google.com/p/vim/issues/detail?id=114&thanks=114&ts=1361483471
|
|
system "make", "install", "prefix=#{prefix}", "STRIP=/usr/bin/true"
|
|
ln_s bin+'vim', bin+'vi' if build.include? 'override-system-vi'
|
|
end
|
|
end
|