Merge pull request #1411 from xu-cheng/homebrew-formula

Let homebrew handle external resources download
This commit is contained in:
John Szakmeister 2014-11-07 08:50:13 -05:00
commit 07775c07c0
2 changed files with 34 additions and 2 deletions

View File

@ -9,9 +9,34 @@ class Neovim < Formula
depends_on "automake" => :build
depends_on "autoconf" => :build
resource "libuv" do
url "https://github.com/joyent/libuv/archive/v0.11.28.tar.gz"
sha1 "3b70b65467ee693228b8b8385665a52690d74092"
end
resource "msgpack" do
url "https://github.com/msgpack/msgpack-c/archive/ecf4b09acd29746829b6a02939db91dfdec635b4.tar.gz"
sha1 "c160ff99f20d9d0a25bea0a57f4452f1c9bde370"
end
resource "luajit" do
url "http://luajit.org/download/LuaJIT-2.0.3.tar.gz"
sha1 "2db39e7d1264918c2266b0436c313fbd12da4ceb"
end
resource "luarocks" do
url "https://github.com/keplerproject/luarocks/archive/0587afbb5fe8ceb2f2eea16f486bd6183bf02f29.tar.gz"
sha1 "61a894fd5d61987bf7e7f9c3e0c5de16ba4b68c4"
end
def install
ENV["GIT_DIR"] = cached_download/".git" if build.head?
ENV.deparallelize
resources.each do |r|
r.stage(target=buildpath/".deps/build/src/#{r.name}")
end
system "make", "CMAKE_BUILD_TYPE=RelWithDebInfo", "CMAKE_EXTRA_FLAGS=\"-DCMAKE_INSTALL_PREFIX:PATH=#{prefix}\"", "install"
end
end

View File

@ -18,6 +18,15 @@ if(NOT DEFINED TARGET)
message(FATAL_ERROR "TARGET must be defined.")
endif()
set(SRC_DIR ${PREFIX}/src/${TARGET})
# Check whether the source has been downloaded. If true, skip it.
# Useful for external downloads like homebrew.
if(EXISTS "${SRC_DIR}" AND IS_DIRECTORY "${SRC_DIR}")
message(STATUS "${SRC_DIR} is found, skipping download and extraction. ")
return()
endif()
# Taken from ExternalProject_Add. Let's hope we can drop this one day when
# ExternalProject_Add allows you to disable SHOW_PROGRESS on the file download.
if(TIMEOUT)
@ -71,8 +80,6 @@ endif()
message(STATUS "downloading... done")
set(SRC_DIR ${PREFIX}/src/${TARGET})
# Slurped from a generated extract-TARGET.cmake file.
message(STATUS "extracting...
src='${file}'