Created
May 1, 2019 20:53
-
-
Save s4y/f05d1547e0929a277392fe524bfe1d0a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Reference: https://github.com/macvim-dev/macvim/wiki/building | |
class Macvim < Formula | |
desc "GUI for vim, made for macOS" | |
homepage "https://github.com/macvim-dev/macvim" | |
head "https://github.com/s4y/macvim.git", :branch => "stateful-render" | |
depends_on :xcode => :build | |
depends_on "cscope" | |
depends_on "lua" | |
depends_on "python" | |
conflicts_with "vim", | |
:because => "vim and macvim both install vi* binaries" | |
def install | |
# Avoid issues finding Ruby headers | |
if MacOS.version == :sierra || MacOS.version == :yosemite | |
ENV.delete("SDKROOT") | |
end | |
# MacVim doesn't have or require any Python package, so unset PYTHONPATH | |
ENV.delete("PYTHONPATH") | |
# make sure that CC is set to "clang" | |
ENV.clang | |
system "./configure", "--with-features=huge", | |
"--enable-multibyte", | |
"--with-macarchs=#{MacOS.preferred_arch}", | |
"--enable-perlinterp", | |
"--enable-rubyinterp", | |
"--enable-tclinterp", | |
"--enable-terminal", | |
"--with-tlib=ncurses", | |
"--with-compiledby=Homebrew", | |
"--with-local-dir=#{HOMEBREW_PREFIX}", | |
"--enable-cscope", | |
"--enable-luainterp", | |
"--with-lua-prefix=#{Formula["lua"].opt_prefix}", | |
"--enable-luainterp", | |
"--enable-python3interp" | |
system "make" | |
prefix.install "src/MacVim/build/Release/MacVim.app" | |
bin.install_symlink prefix/"MacVim.app/Contents/bin/mvim" | |
# Create MacVim vimdiff, view, ex equivalents | |
executables = %w[mvimdiff mview mvimex gvim gvimdiff gview gvimex] | |
executables += %w[vi vim vimdiff view vimex] | |
executables.each { |e| bin.install_symlink "mvim" => e } | |
end | |
test do | |
output = shell_output("#{bin}/mvim --version") | |
assert_match "+ruby", output | |
# Simple test to check if MacVim was linked to Homebrew's Python 3 | |
py3_exec_prefix = Utils.popen_read("python3-config", "--exec-prefix") | |
assert_match py3_exec_prefix.chomp, output | |
(testpath/"commands.vim").write <<~EOS | |
:python3 import vim; vim.current.buffer[0] = 'hello python3' | |
:wq | |
EOS | |
system bin/"mvim", "-v", "-T", "dumb", "-s", "commands.vim", "test.txt" | |
assert_equal "hello python3", (testpath/"test.txt").read.chomp | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment