diff options
author | 2012-07-21 08:00:54 +0000 | |
---|---|---|
committer | 2012-07-21 08:00:54 +0000 | |
commit | 65fb8753130d55101e6a04a7ee205301c900ae01 (patch) | |
tree | b9d0352c36e1d5f07b02b7c64ba6ee58655074b7 /app-misc/sphinx | |
parent | Obsolete ruby-gnome modules have been removed. (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | app-misc/sphinx/files/sphinx-2.0.4_gcc-4.7.patch | 29 | ||||
-rw-r--r-- | app-misc/sphinx/sphinx-2.0.4-r1.ebuild | 102 |
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 +} |