2009-10-15 08:07:12 +00:00
|
|
|
require 'formula'
|
2009-09-09 09:53:07 +00:00
|
|
|
|
2011-09-05 21:41:11 +00:00
|
|
|
class Libstemmer < Formula
|
|
|
|
# upstream is constantly changing the tarball,
|
2011-10-15 03:33:31 +00:00
|
|
|
# so doing checksum verification here would require
|
2011-09-05 21:41:11 +00:00
|
|
|
# constant, rapid updates to this formula.
|
|
|
|
head 'http://snowball.tartarus.org/dist/libstemmer_c.tgz'
|
|
|
|
homepage 'http://snowball.tartarus.org/'
|
|
|
|
end
|
|
|
|
|
2011-03-10 05:11:03 +00:00
|
|
|
class Sphinx < Formula
|
2012-03-03 23:50:27 +00:00
|
|
|
homepage 'http://www.sphinxsearch.com'
|
2012-03-26 20:34:29 +00:00
|
|
|
url 'http://sphinxsearch.com/files/sphinx-2.0.4-release.tar.gz'
|
|
|
|
md5 '7da4df3df3decb24d8c6fb8f47de1d3d'
|
2012-03-03 23:50:27 +00:00
|
|
|
|
2010-09-20 14:18:23 +00:00
|
|
|
head 'http://sphinxsearch.googlecode.com/svn/trunk/'
|
2009-09-09 09:53:07 +00:00
|
|
|
|
2011-10-15 03:33:31 +00:00
|
|
|
fails_with_llvm "ld: rel32 out of range in _GetPrivateProfileString from /usr/lib/libodbc.a(SQLGetPrivateProfileString.o)",
|
|
|
|
:build => 2334
|
2010-01-05 14:48:19 +00:00
|
|
|
|
2012-03-26 20:34:29 +00:00
|
|
|
# Patch the configure script to run under clang, preventing the error:
|
|
|
|
# configure: error: Gcc version error. Minspec is 3.4
|
|
|
|
# Reported upstream:
|
|
|
|
# * http://sphinxsearch.com/bugs/view.php?id=1123
|
|
|
|
# Discussion:
|
|
|
|
# * https://github.com/mxcl/homebrew/issues/10016
|
|
|
|
# * https://github.com/mxcl/homebrew/pull/10698
|
|
|
|
def patches; DATA; end
|
|
|
|
|
2011-03-21 21:24:22 +00:00
|
|
|
def install
|
2011-09-05 21:41:11 +00:00
|
|
|
lstem = Pathname.pwd+'libstemmer_c'
|
2012-03-03 23:50:27 +00:00
|
|
|
Libstemmer.new.brew { lstem.install Dir['*'] }
|
2011-09-05 21:41:11 +00:00
|
|
|
|
|
|
|
args = ["--prefix=#{prefix}",
|
|
|
|
"--disable-debug",
|
|
|
|
"--disable-dependency-tracking",
|
|
|
|
"--localstatedir=#{var}"]
|
|
|
|
|
|
|
|
# always build with libstemmer support
|
|
|
|
args << "--with-libstemmer"
|
|
|
|
|
2010-03-18 14:56:08 +00:00
|
|
|
# configure script won't auto-select PostgreSQL
|
2012-03-03 23:50:27 +00:00
|
|
|
args << "--with-pgsql" if which 'pg_config'
|
|
|
|
args << "--without-mysql" unless which 'mysql'
|
2010-03-18 14:56:08 +00:00
|
|
|
|
2012-03-26 20:34:29 +00:00
|
|
|
# Sphinx 2.0.3 does not build under clang 3.1. It fails with:
|
|
|
|
# sphinxexpr.cpp:1799:11: error: use of undeclared identifier 'ExprEval'
|
|
|
|
# Discussion:
|
|
|
|
# * https://github.com/mxcl/homebrew/issues/10016
|
|
|
|
# * https://github.com/mxcl/homebrew/pull/10698
|
|
|
|
# FIXME This should be replaced with fails_with_clang once available
|
|
|
|
ENV.llvm if ENV.compiler == :clang
|
|
|
|
|
2011-03-21 21:24:22 +00:00
|
|
|
system "./configure", *args
|
2009-09-09 09:53:07 +00:00
|
|
|
system "make install"
|
|
|
|
end
|
2010-03-17 17:45:05 +00:00
|
|
|
|
2012-03-03 23:50:27 +00:00
|
|
|
def caveats; <<-EOS.undent
|
2011-09-05 21:41:11 +00:00
|
|
|
Sphinx has been compiled with libstemmer support.
|
|
|
|
|
2010-03-17 17:45:05 +00:00
|
|
|
Sphinx depends on either MySQL or PostreSQL as a datasource.
|
|
|
|
|
|
|
|
You can install these with Homebrew with:
|
|
|
|
brew install mysql
|
|
|
|
For MySQL server.
|
|
|
|
|
|
|
|
brew install mysql-connector-c
|
|
|
|
For MySQL client libraries only.
|
|
|
|
|
|
|
|
brew install postgresql
|
|
|
|
For PostgreSQL server.
|
|
|
|
|
|
|
|
We don't install these for you when you install this formula, as
|
|
|
|
we don't know which datasource you intend to use.
|
|
|
|
EOS
|
|
|
|
end
|
2009-09-09 09:53:07 +00:00
|
|
|
end
|
2012-03-26 20:34:29 +00:00
|
|
|
|
|
|
|
__END__
|
|
|
|
diff --git a/configure b/configure
|
|
|
|
index aebac75..82d6d05 100755
|
|
|
|
--- a/configure
|
|
|
|
+++ b/configure
|
|
|
|
@@ -4361,7 +4361,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
|
|
|
|
|
|
#ifdef __GNUC__
|
|
|
|
#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 3)
|
|
|
|
-void main() {}
|
|
|
|
+int main() {}
|
|
|
|
#else
|
|
|
|
syntax error
|
|
|
|
#endif
|