2017-06-10 21:55:55 +00:00
|
|
|
class Neovim < Formula
|
|
|
|
desc "Ambitious Vim-fork focused on extensibility and agility"
|
|
|
|
homepage "https://neovim.io/"
|
2017-07-07 18:48:40 +00:00
|
|
|
revision 1
|
2017-06-10 21:55:55 +00:00
|
|
|
|
|
|
|
stable do
|
|
|
|
url "https://github.com/neovim/neovim/archive/v0.2.0.tar.gz"
|
|
|
|
sha256 "72e263f9d23fe60403d53a52d4c95026b0be428c1b9c02b80ab55166ea3f62b5"
|
|
|
|
|
|
|
|
depends_on "luajit" => :build
|
2017-07-07 18:48:40 +00:00
|
|
|
|
|
|
|
# Remove for > 0.2.0
|
|
|
|
# Upstream commit from 7 Jul 2017 "Prefer the static jemalloc library by default on OSX"
|
|
|
|
# See https://github.com/neovim/neovim/pull/6979
|
|
|
|
patch do
|
|
|
|
url "https://github.com/neovim/neovim/commit/35fad15c8907f741ce21779393e4377de753e4f9.patch?full_index=1"
|
|
|
|
sha256 "b156fdc92a3850eca3047620087f25a021800b729a3c30fd0164404b2ff7848b"
|
|
|
|
end
|
2017-06-10 21:55:55 +00:00
|
|
|
end
|
|
|
|
|
2017-06-25 15:11:48 +00:00
|
|
|
bottle do
|
2017-07-07 18:55:03 +00:00
|
|
|
sha256 "6d0cbbaadd947b428f29fb28ba0f492f2d84a71d981ad22cf00032036118ddf9" => :sierra
|
|
|
|
sha256 "fdb74c70048d2c9232525ab652464d9818d0134442c855168f399ab2dd9504a7" => :el_capitan
|
|
|
|
sha256 "f563c067954a4c5f98ad2b01ee3219e5d1666f7000917474186127122cf5cc76" => :yosemite
|
2017-06-25 15:11:48 +00:00
|
|
|
end
|
|
|
|
|
2017-06-10 21:55:55 +00:00
|
|
|
head do
|
|
|
|
url "https://github.com/neovim/neovim.git"
|
|
|
|
|
|
|
|
depends_on "luajit"
|
|
|
|
end
|
|
|
|
|
|
|
|
depends_on "cmake" => :build
|
|
|
|
depends_on "lua@5.1" => :build
|
|
|
|
depends_on "pkg-config" => :build
|
|
|
|
depends_on "gettext"
|
|
|
|
depends_on "jemalloc"
|
|
|
|
depends_on "libtermkey"
|
|
|
|
depends_on "libuv"
|
|
|
|
depends_on "libvterm"
|
|
|
|
depends_on "msgpack"
|
|
|
|
depends_on "unibilium"
|
|
|
|
depends_on :python if MacOS.version <= :snow_leopard
|
|
|
|
|
|
|
|
resource "lpeg" do
|
|
|
|
url "https://luarocks.org/manifests/gvvaughan/lpeg-1.0.1-1.src.rock", :using => :nounzip
|
|
|
|
sha256 "149be31e0155c4694f77ea7264d9b398dd134eca0d00ff03358d91a6cfb2ea9d"
|
|
|
|
end
|
|
|
|
|
|
|
|
resource "mpack" do
|
|
|
|
url "https://luarocks.org/manifests/tarruda/mpack-1.0.6-0.src.rock", :using => :nounzip
|
|
|
|
sha256 "9068d9d3f407c72a7ea18bc270b0fa90aad60a2f3099fa23d5902dd71ea4cd5f"
|
|
|
|
end
|
|
|
|
|
|
|
|
def install
|
|
|
|
resources.each do |r|
|
|
|
|
r.stage(buildpath/"deps-build/build/src/#{r.name}")
|
|
|
|
end
|
|
|
|
|
|
|
|
ENV.prepend_path "LUA_PATH", "#{buildpath}/deps-build/share/lua/5.1/?.lua"
|
|
|
|
ENV.prepend_path "LUA_CPATH", "#{buildpath}/deps-build/lib/lua/5.1/?.so"
|
|
|
|
|
|
|
|
cd "deps-build" do
|
|
|
|
system "luarocks-5.1", "build", "build/src/lpeg/lpeg-1.0.1-1.src.rock", "--tree=."
|
|
|
|
system "luarocks-5.1", "build", "build/src/mpack/mpack-1.0.6-0.src.rock", "--tree=."
|
|
|
|
system "cmake", "../third-party", "-DUSE_BUNDLED=OFF", *std_cmake_args
|
|
|
|
system "make"
|
|
|
|
end
|
|
|
|
|
|
|
|
mkdir "build" do
|
|
|
|
system "cmake", "..", *std_cmake_args
|
|
|
|
system "make", "install"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
test do
|
|
|
|
(testpath/"test.txt").write("Hello World from Vim!!")
|
|
|
|
system bin/"nvim", "--headless", "-i", "NONE", "-u", "NONE",
|
|
|
|
"+s/Vim/Neovim/g", "+wq", "test.txt"
|
|
|
|
assert_equal "Hello World from Neovim!!", (testpath/"test.txt").read.chomp
|
|
|
|
end
|
|
|
|
end
|