class Manticoresearch < Formula desc "Open source text search engine" homepage "https://www.manticoresearch.com" url "https://github.com/manticoresoftware/manticoresearch/releases/download/3.2.0/manticore-3.2.0-191017-e526a01-release.tar.gz" sha256 "df6dbcc4df01065fc3cc6328f043b8cef3eb403a28671455cd3c8fc4217e3391" revision 1 head "https://github.com/manticoresoftware/manticoresearch.git" bottle do sha256 "1e40580a0e712cdcde9f403281d5e99ca64d0284666ce4a22cec9a4bf0db1c37" => :catalina sha256 "ff90a6afa1768090306b1bff962e97a426c05b3abd8f5c277d6ad37d2a8a191a" => :mojave sha256 "6a5cc018b61d2265e9a30ccb67be8992712dcb591dfd2f802d76346018ba3367" => :high_sierra end depends_on "cmake" => :build depends_on "icu4c" => :build depends_on "libpq" => :build depends_on "mysql" => :build depends_on "unixodbc" => :build depends_on "openssl@1.1" conflicts_with "sphinx", :because => "manticore, sphinx install the same binaries." def install args = %W[ -DCMAKE_INSTALL_LOCALSTATEDIR=#{var} -DDISTR_BUILD=macosbrew ] mkdir "build" do system "cmake", "..", *std_cmake_args, *args system "make", "install" end end def post_install (var/"run/manticore").mkpath (var/"log/manticore").mkpath (var/"manticore/data").mkpath end plist_options :manual => "searchd --config #{HOMEBREW_PREFIX}/etc/manticore/sphinx.conf" def plist; <<~EOS Label #{plist_name} RunAtLoad KeepAlive ProgramArguments #{opt_bin}/searchd --config #{etc}/manticore/sphinx.conf --nodetach WorkingDirectory #{HOMEBREW_PREFIX} EOS end test do (testpath/"sphinx.conf").write <<~EOS searchd { pid_file = searchd.pid binlog_path=# } EOS pid = fork do exec bin/"searchd" end ensure Process.kill(9, pid) Process.wait(pid) end end