From 582f2654f318fef300b0b37bf8e123b56c687ab7 Mon Sep 17 00:00:00 2001 From: geos_one Date: Mon, 11 Oct 2010 17:38:45 +0000 Subject: [PATCH] add clucene with zarafa patch git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/mds@2509 6952d904-891a-0410-993b-d76249ca496b --- dev-cpp/clucene/ChangeLog | 127 +++++++++++++++++ dev-cpp/clucene/Manifest | 7 + dev-cpp/clucene/clucene-0.9.21b-r1.ebuild | 51 +++++++ dev-cpp/clucene/clucene-0.9.21b-r10.ebuild | 52 +++++++ .../clucene/files/clucene-0.9.21b-gcc44.patch | 10 ++ dev-cpp/clucene/files/clucene-0.9.21b.patch | 128 ++++++++++++++++++ dev-cpp/clucene/metadata.xml | 9 ++ 7 files changed, 384 insertions(+) create mode 100644 dev-cpp/clucene/ChangeLog create mode 100644 dev-cpp/clucene/Manifest create mode 100644 dev-cpp/clucene/clucene-0.9.21b-r1.ebuild create mode 100644 dev-cpp/clucene/clucene-0.9.21b-r10.ebuild create mode 100644 dev-cpp/clucene/files/clucene-0.9.21b-gcc44.patch create mode 100644 dev-cpp/clucene/files/clucene-0.9.21b.patch create mode 100644 dev-cpp/clucene/metadata.xml diff --git a/dev-cpp/clucene/ChangeLog b/dev-cpp/clucene/ChangeLog new file mode 100644 index 0000000..9eaeb7b --- /dev/null +++ b/dev-cpp/clucene/ChangeLog @@ -0,0 +1,127 @@ +# ChangeLog for dev-cpp/clucene +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-cpp/clucene/ChangeLog,v 1.31 2010/07/22 08:11:59 reavertm Exp $ + + 22 Jul 2010; Maciej Mrozowski clucene-9999.ebuild, + +files/clucene-9999-cmake.patch: + Do not install unnecessary .cmake files, deps cleanup, add DOCS + +*clucene-9999 (26 May 2010) + + 26 May 2010; Tomáš Chvátal + clucene-0.9.21b-r1.ebuild, +clucene-9999.ebuild: + Update clucene-0.9.21b-r1 to be eapi3 and use base eclass. Add live + ebuild. + +*clucene-0.9.21b-r1 (25 May 2010) + + 25 May 2010; Maciej Mrozowski + +clucene-0.9.21b-r1.ebuild: + Add static-libs USE flag, conditionally remove libtool files, move to EAPI-2 + + 30 Apr 2010; Fabian Groffen clucene-0.9.21b.ebuild: + Marked ~ppc-macos + + 14 Jan 2010; Jeroen Roovers clucene-0.9.21b.ebuild: + Stable for HPPA too. + + 27 Dec 2009; Raúl Porcel clucene-0.9.21b.ebuild: + Add ~arm + + 27 Dec 2009; Raúl Porcel clucene-0.9.21b.ebuild: + alpha/ia64 stable + + 14 Dec 2009; Jonathan Callen clucene-0.9.21b.ebuild: + Add ~amd64-linux/~x86-linux + + 11 Apr 2009; Raúl Porcel clucene-0.9.21b.ebuild: + Add ~alpha/~ia64 + + 26 Mar 2009; Ryan Hill + +files/clucene-0.9.21b-gcc44.patch, clucene-0.9.21b.ebuild: + Fix missing include in headers for GCC 4.4 (bug #254254). + + 06 Mar 2009; Jeroen Roovers clucene-0.9.21b.ebuild: + Marked ~hppa (bug #260777). + + 01 Mar 2009; Alexey Shvetsov clucene-0.9.21b.ebuild: + Add ~mips love + + 05 Feb 2009; Brent Baude clucene-0.9.21b.ebuild: + Marking clucene-0.9.21b ppc64 for bug 251643 + + 13 Jan 2009; Tiago Cunha clucene-0.9.21b.ebuild: + stable sparc, bug 251643 + + 08 Jan 2009; Jeroen Roovers metadata.xml: + Fix . + + 20 Dec 2008; Markus Meier clucene-0.9.21b.ebuild: + x86 stable, bug #251643 + + 20 Dec 2008; nixnut clucene-0.9.21b.ebuild: + Stable on ppc wrt bug 251643 + + 18 Dec 2008; Steve Dibb clucene-0.9.21b.ebuild: + amd64 stable + +*clucene-0.9.21b (07 Nov 2008) + + 07 Nov 2008; Tomas Chvatal metadata.xml, + -clucene-0.9.20.ebuild, +clucene-0.9.21b.ebuild: + Version bump. Remove old. + + 21 Aug 2008; Friedrich Oslage clucene-0.9.20.ebuild: + Add ~sparc keyword at user request, bug #234847 + + 28 Apr 2008; Christian Heim metadata.xml: + Remove Wulf C. Krueger (philantrop) from metadata.xml (as per #168573). + + 28 Nov 2007; Markus Rothe clucene-0.9.20.ebuild: + Added ~ppc64 + +*clucene-0.9.20 (02 Oct 2007) + + 02 Oct 2007; Wulf C. Krueger metadata.xml, + -clucene-0.9.15.ebuild, -clucene-0.9.16a.ebuild, -clucene-0.9.17.ebuild, + +clucene-0.9.20.ebuild: + Version bump to 0.9.20. Fixes bug 179670. + Removed obsolete versions. + Added myself to metadata.xml as the maintainer. + + 19 Mar 2007; Bryan Østergaard metadata.xml: + Remove squinky86 from metadata.xml due to retirement. + + 10 Mar 2007; Roy Marples clucene-0.9.17.ebuild: + Added ~x86-fbsd keyword. + +*clucene-0.9.17 (08 Mar 2007) +*clucene-0.9.16a (08 Mar 2007) + + 08 Mar 2007; Anant Narayanan -clucene-0.9.16.ebuild, + +clucene-0.9.16a.ebuild, +clucene-0.9.17.ebuild: + vBump to 0.16a stable and 0.17 unstable, closes bug #169875 + +*clucene-0.9.16 (21 Oct 2006) + + 21 Oct 2006; Jon Hood -clucene-0.9.10.ebuild, + +clucene-0.9.16.ebuild: + Version bump, remove old version. Adds support for strigi, bug #149362, + thanks to Christoph Mockenhaupt . + +*clucene-0.9.15 (07 Jul 2006) + + 07 Jul 2006; Jon Hood +clucene-0.9.15.ebuild: + Version bump. + + 14 Jun 2006; clucene-0.9.10.ebuild: + Added ~ppc wrt bug #136709 + +*clucene-0.9.10 (13 Jun 2006) + + 13 Jun 2006; Jon Hood +metadata.xml, + +clucene-0.9.10.ebuild: + Initial import. Clucene is the C++ equivalent to Java's lucene package. + Thanks to Rohan McGovern in bug #95633 for work on this + package. + diff --git a/dev-cpp/clucene/Manifest b/dev-cpp/clucene/Manifest new file mode 100644 index 0000000..c3a4be9 --- /dev/null +++ b/dev-cpp/clucene/Manifest @@ -0,0 +1,7 @@ +AUX clucene-0.9.21b-gcc44.patch 218 RMD160 61cae76cb6051905a1f0c911cf7641df2885a91c SHA1 20d4c94095ddb70f3bd02d3ec8a5135567202d53 SHA256 2ab6c9350ae2ddc56e0c3c956c687f22b0a6f5adc438a0e512bca18efc502d2f +AUX clucene-0.9.21b.patch 4580 RMD160 37c1d6226a9cbbbc90ea02d95c83f376465bffe3 SHA1 9f0747c8e2c9253a2b8aa2fa096b6dfc57183321 SHA256 8c4bb38a6de507e64fde29e1ab7f26d764a1b863d1053171c9886910de514281 +DIST clucene-core-0.9.21b.tar.bz2 1539103 RMD160 e04ca10ca755cdd9c7bf5ccdd34a91c0007de1d4 SHA1 8bc505b64f82723c2dc901036cb0607500870973 SHA256 202ee45af747f18642ae0a088d7c4553521714a511a1a9ec99b8144cf9928317 +EBUILD clucene-0.9.21b-r1.ebuild 1251 RMD160 2373746767771e28a1984c78d538a1394ac0d528 SHA1 73f733df948304ac4ec6261ea78d6e7a941da48c SHA256 88ad0f9a28e855f96e6048ce9d8d2b071a1a118031a3b4528e143ae0b464100b +EBUILD clucene-0.9.21b-r10.ebuild 1277 RMD160 bcb1be6b9c3ee0ab8d0be7501afd82217b11bdd0 SHA1 37aae145b40d10d5fb6b1d7818f6959f35e8a5f4 SHA256 0d295c3070232454a3a9ae55dcd4784e64b84502a66c3511131dad160bc10051 +MISC ChangeLog 4389 RMD160 6bb611e7ae997f21e574e416ff9b7ad62fe9dc6a SHA1 048cabb8872447d1930d9a76b2cce669253e4a00 SHA256 0c3ab1a6618da0079b0d346e17f1ef87d036e598b576694cf6a12d6a1d7f9f55 +MISC metadata.xml 256 RMD160 838e0f6278a4b0fe932c770396ad4a21b4437b37 SHA1 e845939169cd2438b7a0be04ea629e23d5a2157f SHA256 ed71448e1cf2b00c5a424eab700c847564482392381f9c6079d9642e36143515 diff --git a/dev-cpp/clucene/clucene-0.9.21b-r1.ebuild b/dev-cpp/clucene/clucene-0.9.21b-r1.ebuild new file mode 100644 index 0000000..3eef88c --- /dev/null +++ b/dev-cpp/clucene/clucene-0.9.21b-r1.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-cpp/clucene/clucene-0.9.21b-r1.ebuild,v 1.3 2010/05/26 14:47:11 mr_bones_ Exp $ + +EAPI="3" + +MY_P=${PN}-core-${PV} +inherit base + +DESCRIPTION="High-performance, full-featured text search engine based off of lucene in C++" +HOMEPAGE="http://clucene.sourceforge.net/" +SRC_URI="mirror://sourceforge/clucene/${MY_P}.tar.bz2" + +LICENSE="|| ( Apache-2.0 LGPL-2.1 )" +SLOT="1" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="debug doc static-libs threads" + +DEPEND="doc? ( >=app-doc/doxygen-1.4.2 )" +RDEPEND="" + +PATCHES=( + "${FILESDIR}/${P}-gcc44.patch" +) + +S="${WORKDIR}/${MY_P}" + +src_configure() { + econf \ + $(use_enable debug) \ + $(use_enable debug cnddebug) \ + $(use_enable static-libs static) \ + $(use_enable threads multithreading) +} + +src_compile() { + base_src_compile + if use doc ; then + emake doxygen || die "making docs failed" + fi +} + +src_install() { + base_src_install + use doc && { dohtml "${S}"/doc/html/* ; } + + if ! use static-libs; then + find "${D}" -type f -name '*.la' -exec rm -f {} + \ + || die "la removal failed" + fi +} diff --git a/dev-cpp/clucene/clucene-0.9.21b-r10.ebuild b/dev-cpp/clucene/clucene-0.9.21b-r10.ebuild new file mode 100644 index 0000000..2cadb73 --- /dev/null +++ b/dev-cpp/clucene/clucene-0.9.21b-r10.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-cpp/clucene/clucene-0.9.21b-r1.ebuild,v 1.3 2010/05/26 14:47:11 mr_bones_ Exp $ + +EAPI="3" + +MY_P=${PN}-core-${PV} +inherit base + +DESCRIPTION="High-performance, full-featured text search engine based off of lucene in C++" +HOMEPAGE="http://clucene.sourceforge.net/" +SRC_URI="mirror://sourceforge/clucene/${MY_P}.tar.bz2" + +LICENSE="|| ( Apache-2.0 LGPL-2.1 )" +SLOT="1" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="debug doc static-libs threads" + +DEPEND="doc? ( >=app-doc/doxygen-1.4.2 )" +RDEPEND="" + +PATCHES=( + "${FILESDIR}/${P}-gcc44.patch" + "${FILESDIR}/${P}.patch" +) + +S="${WORKDIR}/${MY_P}" + +src_configure() { + econf \ + $(use_enable debug) \ + $(use_enable debug cnddebug) \ + $(use_enable static-libs static) \ + $(use_enable threads multithreading) +} + +src_compile() { + base_src_compile + if use doc ; then + emake doxygen || die "making docs failed" + fi +} + +src_install() { + base_src_install + use doc && { dohtml "${S}"/doc/html/* ; } + + if ! use static-libs; then + find "${D}" -type f -name '*.la' -exec rm -f {} + \ + || die "la removal failed" + fi +} diff --git a/dev-cpp/clucene/files/clucene-0.9.21b-gcc44.patch b/dev-cpp/clucene/files/clucene-0.9.21b-gcc44.patch new file mode 100644 index 0000000..8c7fe44 --- /dev/null +++ b/dev-cpp/clucene/files/clucene-0.9.21b-gcc44.patch @@ -0,0 +1,10 @@ +--- src/CLucene/util/bufferedstream.h~ ++++ src/CLucene/util/bufferedstream.h +@@ -29,6 +29,7 @@ + #include "streambase.h" + #include "inputstreambuffer.h" + #include ++#include + + namespace jstreams { + diff --git a/dev-cpp/clucene/files/clucene-0.9.21b.patch b/dev-cpp/clucene/files/clucene-0.9.21b.patch new file mode 100644 index 0000000..6fa595a --- /dev/null +++ b/dev-cpp/clucene/files/clucene-0.9.21b.patch @@ -0,0 +1,128 @@ +diff -urb clucene-core-0.9.21/configure.ac clucene-core-0.9.21b/configure.ac +--- clucene-core-0.9.21/configure.ac 2008-09-21 08:19:46.000000000 +0200 ++++ clucene-core-0.9.21b/configure.ac 2008-10-23 20:17:57.000000000 +0200 +@@ -6,14 +6,14 @@ + AC_INIT(src/CLucene/StdHeader.h) + + dnl the clucene-core package version +-VERSION=0.9.21 ++VERSION=0.9.21b + + dnl increment if interfaces have been added, removed or changed + clLIB_current=3 + + dnl increment if source code has changed + dnl - set to zero if current is incremented +-clLIB_revision=0 ++clLIB_revision=1 + + dnl increment if interfaces have been added + dnl - set to zero if interfaces have been removed or changed +diff -urb clucene-core-0.9.21/src/CLucene/queryParser/MultiFieldQueryParser.cpp clucene-core-0.9.21b/src/CLucene/queryParser/MultiFieldQueryParser.cpp +--- clucene-core-0.9.21/src/CLucene/queryParser/MultiFieldQueryParser.cpp 2008-08-22 16:40:15.000000000 +0200 ++++ clucene-core-0.9.21b/src/CLucene/queryParser/MultiFieldQueryParser.cpp 2008-10-23 19:44:35.000000000 +0200 +@@ -36,7 +36,10 @@ + int32_t i = 0; + while ( fields[i] != NULL ){ + Query* q = QueryParser::parse(query, fields[i], analyzer); ++ if (q && (q->getQueryName()!=_T("BooleanQuery") || ((BooleanQuery*)q)->getClauseCount() > 0)) { + bQuery->add(q, true, false, false); ++ } else ++ _CLDELETE(q); + + i++; + } +@@ -51,6 +54,7 @@ + while ( fields[i] != NULL ) + { + Query* q = QueryParser::parse(query, fields[i], analyzer); ++ if (q && (q->getQueryName()!=_T("BooleanQuery") || ((BooleanQuery*)q)->getClauseCount() > 0)) { + uint8_t flag = flags[i]; + switch (flag) + { +@@ -64,6 +68,9 @@ + bQuery->add(q, true, false, false); + break; + } ++ } else { ++ _CLDELETE(q); ++ } + + i++; + } +diff -urb clucene-core-0.9.21/src/CLucene/store/FSDirectory.cpp clucene-core-0.9.21b/src/CLucene/store/FSDirectory.cpp +--- clucene-core-0.9.21/src/CLucene/store/FSDirectory.cpp 2008-08-22 16:40:17.000000000 +0200 ++++ clucene-core-0.9.21b/src/CLucene/store/FSDirectory.cpp 2008-10-23 20:01:52.000000000 +0200 +@@ -65,7 +65,7 @@ + if ( other.handle == NULL ) + _CLTHROWA(CL_ERR_NullPointer, "other handle is null"); + +- SCOPED_LOCK_MUTEX(other.handle->THIS_LOCK) ++ SCOPED_LOCK_MUTEX(*other.handle->THIS_LOCK) + handle = _CL_POINTER(other.handle); + _pos = other.handle->_fpos; //note where we are currently... + } +@@ -75,6 +75,10 @@ + _length = 0; + _fpos = 0; + path[0]=0; ++ ++#ifdef _LUCENE_THREADMUTEX ++ THIS_LOCK = new _LUCENE_THREADMUTEX; ++#endif + } + FSDirectory::FSIndexInput::SharedHandle::~SharedHandle() throw(CLuceneError&){ + if ( fhandle >= 0 ){ +@@ -100,7 +104,31 @@ + } + void FSDirectory::FSIndexInput::close() { + BufferedIndexInput::close(); ++#ifdef _LUCENE_THREADMUTEX ++ if ( handle != NULL ){ ++ //here we have a bit of a problem... we need to lock the handle to ensure that we can ++ //safely delete the handle... but if we delete the handle, then the scoped unlock, ++ //won't be able to unlock the mutex... ++ ++ //take a reference of the lock object... ++ _LUCENE_THREADMUTEX* mutex = handle->THIS_LOCK; ++ //lock the mutex ++ mutex->lock(); ++ ++ //determine if we are about to delete the handle... ++ bool dounlock = ( handle->__cl_refcount > 1 ); ++ //decdelete (deletes if refcount is down to 0 + _CLDECDELETE(handle); ++ ++ if ( dounlock ){ ++ mutex->unlock(); ++ }else{ ++ delete mutex; ++ } ++ } ++#else ++ _CLDECDELETE(handle); ++#endif + } + + void FSDirectory::FSIndexInput::seekInternal(const int64_t position) { +@@ -110,7 +138,7 @@ + + /** IndexInput methods */ + void FSDirectory::FSIndexInput::readInternal(uint8_t* b, const int32_t len) { +- SCOPED_LOCK_MUTEX(handle->THIS_LOCK) ++ SCOPED_LOCK_MUTEX(*handle->THIS_LOCK) + CND_PRECONDITION(handle!=NULL,"shared file handle has closed"); + CND_PRECONDITION(handle->fhandle>=0,"file is not open"); + +diff -urb clucene-core-0.9.21/src/CLucene/store/FSDirectory.h clucene-core-0.9.21b/src/CLucene/store/FSDirectory.h +--- clucene-core-0.9.21/src/CLucene/store/FSDirectory.h 2008-08-22 16:40:17.000000000 +0200 ++++ clucene-core-0.9.21b/src/CLucene/store/FSDirectory.h 2008-10-23 20:00:43.000000000 +0200 +@@ -86,7 +86,7 @@ + int32_t fhandle; + int64_t _length; + int64_t _fpos; +- DEFINE_MUTEX(THIS_LOCK) ++ DEFINE_MUTEX(*THIS_LOCK) + char path[CL_MAX_DIR]; //todo: this is only used for cloning, better to get information from the fhandle + SharedHandle(); + ~SharedHandle() throw(CLuceneError&); diff --git a/dev-cpp/clucene/metadata.xml b/dev-cpp/clucene/metadata.xml new file mode 100644 index 0000000..a261b1d --- /dev/null +++ b/dev-cpp/clucene/metadata.xml @@ -0,0 +1,9 @@ + + + + kde + + scarabeus@gentoo.org + Tomáš Chvátal + +