homebrew-core/Formula/osquery.rb
2015-08-30 23:18:52 +01:00

74 lines
2.3 KiB
Ruby

class Osquery < Formula
desc "SQL powered operating system instrumentation and analytics"
homepage "https://osquery.io"
# pull from git tag to get submodules
url "https://github.com/facebook/osquery.git",
:tag => "1.5.2",
:revision => "225a14660abeb1071fff58e73cc753d54037c6ae"
revision 1
bottle do
sha256 "c9ac3d50168afa1bbbf22a426f731f61a27dfdd8d6e5a8ee59953243fa792e86" => :yosemite
sha256 "0e635ad69a7c4351f7d41d66c48b54c731d2ba92d701e5b66ccce305c826a92d" => :mavericks
end
# osquery only supports OS X 10.9 and above. Do not remove this.
depends_on :macos => :mavericks
depends_on "cmake" => :build
depends_on "doxygen" => :build
depends_on "boost"
depends_on "rocksdb"
depends_on "thrift"
depends_on "yara"
depends_on "libressl"
depends_on "gflags"
resource "markupsafe" do
url "https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.23.tar.gz"
sha256 "a4ec1aff59b95a14b45eb2e23761a0179e98319da5a7eb76b56ea8cdc7b871c3"
end
resource "jinja2" do
url "https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz"
sha256 "2e24ac5d004db5714976a04ac0e80c6df6e47e98c354cb2c0d82f8879d4f8fdb"
end
def install
# Link dynamically against brew-installed libraries.
ENV["BUILD_LINK_SHARED"] = "1"
# Use LibreSSL instead of the system provided OpenSSL.
ENV["BUILD_USE_LIBRESSL"] = "1"
# Skip test and benchmarking.
ENV["SKIP_TESTS"] = "1"
ENV.prepend_create_path "PYTHONPATH", buildpath/"third-party/python/lib/python2.7/site-packages"
ENV["THRIFT_HOME"] = Formula["thrift"].opt_prefix
resources.each do |r|
r.stage do
system "python", "setup.py", "install",
"--prefix=#{buildpath}/third-party/python/",
"--single-version-externally-managed",
"--record=installed.txt"
end
end
system "cmake", ".", *std_cmake_args
system "make"
system "make", "install"
end
plist_options :startup => true, :manual => "osqueryd"
test do
require "open3"
Open3.popen3("#{bin}/osqueryi") do |stdin, stdout, _|
stdin.write(".mode line\nSELECT count(version) as lines FROM osquery_info;")
stdin.close
assert_equal "lines = 1\n", stdout.read
end
end
end