summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Graaff <graaff@gentoo.org>2012-07-21 08:00:54 +0000
committerHans de Graaff <graaff@gentoo.org>2012-07-21 08:00:54 +0000
commit65fb8753130d55101e6a04a7ee205301c900ae01 (patch)
treeb9d0352c36e1d5f07b02b7c64ba6ee58655074b7 /app-misc/sphinx
parentObsolete ruby-gnome modules have been removed. (diff)
downloadgentoo-2-65fb8753130d55101e6a04a7ee205301c900ae01.tar.gz
gentoo-2-65fb8753130d55101e6a04a7ee205301c900ae01.tar.bz2
gentoo-2-65fb8753130d55101e6a04a7ee205301c900ae01.zip
Revision bump to fix building with gcc 4.7. Thanks to Brennan Shacklett in bug 425522 for finding and cleaning up the debian patch for it.
(Portage version: 2.1.10.65/cvs/Linux x86_64)
Diffstat (limited to 'app-misc/sphinx')
-rw-r--r--app-misc/sphinx/ChangeLog9
-rw-r--r--app-misc/sphinx/files/sphinx-2.0.4_gcc-4.7.patch29
-rw-r--r--app-misc/sphinx/sphinx-2.0.4-r1.ebuild102
3 files changed, 139 insertions, 1 deletions
diff --git a/app-misc/sphinx/ChangeLog b/app-misc/sphinx/ChangeLog
index 69057b4d0682..d60a920801f5 100644
--- a/app-misc/sphinx/ChangeLog
+++ b/app-misc/sphinx/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for app-misc/sphinx
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-misc/sphinx/ChangeLog,v 1.46 2012/07/09 05:35:57 graaff Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-misc/sphinx/ChangeLog,v 1.47 2012/07/21 08:00:54 graaff Exp $
+
+*sphinx-2.0.4-r1 (21 Jul 2012)
+
+ 21 Jul 2012; Hans de Graaff <graaff@gentoo.org> +sphinx-2.0.4-r1.ebuild,
+ +files/sphinx-2.0.4_gcc-4.7.patch:
+ Revision bump to fix building with gcc 4.7. Thanks to Brennan Shacklett in
+ bug 425522 for finding and cleaning up the debian patch for it.
09 Jul 2012; Hans de Graaff <graaff@gentoo.org> -sphinx-0.9.9-r2.ebuild,
-sphinx-1.10_beta-r1.ebuild, -sphinx-2.0.3.ebuild:
diff --git a/app-misc/sphinx/files/sphinx-2.0.4_gcc-4.7.patch b/app-misc/sphinx/files/sphinx-2.0.4_gcc-4.7.patch
new file mode 100644
index 000000000000..180db1b57c45
--- /dev/null
+++ b/app-misc/sphinx/files/sphinx-2.0.4_gcc-4.7.patch
@@ -0,0 +1,29 @@
+--- a/src/sphinxexpr.cpp
++++ b/src/sphinxexpr.cpp
+@@ -1796,7 +1796,7 @@ public:
+ /// evaluate arg, return interval id
+ virtual int IntEval ( const CSphMatch & tMatch ) const
+ {
+- T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
++ T val = this->ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
+ ARRAY_FOREACH ( i, this->m_dValues ) // FIXME! OPTIMIZE! perform binary search here
+ if ( val<this->m_dValues[i] )
+ return i;
+@@ -1827,7 +1827,7 @@ public:
+ /// evaluate arg, return interval id
+ virtual int IntEval ( const CSphMatch & tMatch ) const
+ {
+- T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
++ T val = this->ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
+ ARRAY_FOREACH ( i, m_dTurnPoints )
+ if ( val < Expr_ArgVsSet_c<T>::ExprEval ( m_dTurnPoints[i], tMatch ) )
+ return i;
+@@ -1873,7 +1873,7 @@ public:
+ /// evaluate arg, check if the value is within set
+ virtual int IntEval ( const CSphMatch & tMatch ) const
+ {
+- T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
++ T val = this->ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
+ return this->m_dValues.BinarySearch ( val )!=NULL;
+ }
+
diff --git a/app-misc/sphinx/sphinx-2.0.4-r1.ebuild b/app-misc/sphinx/sphinx-2.0.4-r1.ebuild
new file mode 100644
index 000000000000..6276074b904b
--- /dev/null
+++ b/app-misc/sphinx/sphinx-2.0.4-r1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-misc/sphinx/sphinx-2.0.4-r1.ebuild,v 1.1 2012/07/21 08:00:54 graaff Exp $
+
+EAPI=4
+inherit eutils autotools
+
+#MY_P=${P/_/-}
+MY_P=${P}-release
+
+# This has been added by Gentoo, to explicitly version libstemmer.
+# It is the date that http://snowball.tartarus.org/dist/libstemmer_c.tgz was
+# fetched.
+STEMMER_PV="20091122"
+DESCRIPTION="Full-text search engine with support for MySQL and PostgreSQL"
+HOMEPAGE="http://www.sphinxsearch.com/"
+SRC_URI="http://sphinxsearch.com/files/${MY_P}.tar.gz
+ stemmer? ( mirror://gentoo/libstemmer_c-${STEMMER_PV}.tgz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris"
+IUSE="debug id64 mysql odbc postgres stemmer test"
+
+RDEPEND="mysql? ( virtual/mysql )
+ postgres? ( dev-db/postgresql-base )
+ odbc? ( dev-db/unixODBC )
+ virtual/libiconv"
+DEPEND="${RDEPEND}
+ test? ( dev-lang/php )"
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpack ${MY_P}.tar.gz
+ if use stemmer; then
+ cd "${S}"
+ unpack libstemmer_c-${STEMMER_PV}.tgz
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.0.1_beta-darwin8.patch \
+ "${FILESDIR}"/${P}_gcc-4.7.patch
+
+ # drop nasty hardcoded search path breaking Prefix
+ sed -i -e '/\/usr\/local\//d' configure.ac || die
+
+ # Regenerate autoconf files in the api directory first to avoid
+ # running elibtoolize twice, which results in a warning.
+ pushd api/libsphinxclient || die
+ eautoreconf
+ popd || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # fix libiconv detection
+ use !elibc_glibc && export ac_cv_search_iconv=-liconv
+
+ econf \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
+ $(use_enable id64) \
+ $(use_with debug) \
+ $(use_with mysql) \
+ $(use_with odbc unixodbc) \
+ $(use_with postgres pgsql) \
+ $(use_with stemmer libstemmer)
+
+ cd api/libsphinxclient || die
+ econf STRIP=:
+}
+
+src_compile() {
+ emake || die "emake failed"
+
+ emake -j 1 -C api/libsphinxclient || die "emake libsphinxclient failed"
+}
+
+src_test() {
+ elog "Tests require access to a live MySQL database and may require configuration."
+ elog "You will find them in /usr/share/${PN}/test and they require dev-lang/php"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install failed"
+ emake DESTDIR="${D}" -C api/libsphinxclient install || die "install libsphinxclient failed"
+
+ dodoc doc/*
+
+ dodir /var/lib/sphinx
+ dodir /var/log/sphinx
+ dodir /var/run/sphinx
+
+ newinitd "${FILESDIR}"/searchd.rc searchd
+
+ if use test; then
+ insinto /usr/share/${PN}
+ doins -r test
+ fi
+}