add clucene with zarafa patch

git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/mds@2509 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
geos_one 2010-10-11 17:38:45 +00:00
parent a57012f774
commit 582f2654f3
7 changed files with 384 additions and 0 deletions

127
dev-cpp/clucene/ChangeLog Normal file
View File

@ -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 <reavertm@gentoo.org> 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 <scarabeus@gentoo.org>
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 <reavertm@gentoo.org>
+clucene-0.9.21b-r1.ebuild:
Add static-libs USE flag, conditionally remove libtool files, move to EAPI-2
30 Apr 2010; Fabian Groffen <grobian@gentoo.org> clucene-0.9.21b.ebuild:
Marked ~ppc-macos
14 Jan 2010; Jeroen Roovers <jer@gentoo.org> clucene-0.9.21b.ebuild:
Stable for HPPA too.
27 Dec 2009; Raúl Porcel <armin76@gentoo.org> clucene-0.9.21b.ebuild:
Add ~arm
27 Dec 2009; Raúl Porcel <armin76@gentoo.org> clucene-0.9.21b.ebuild:
alpha/ia64 stable
14 Dec 2009; Jonathan Callen <abcd@gentoo.org> clucene-0.9.21b.ebuild:
Add ~amd64-linux/~x86-linux
11 Apr 2009; Raúl Porcel <armin76@gentoo.org> clucene-0.9.21b.ebuild:
Add ~alpha/~ia64
26 Mar 2009; Ryan Hill <dirtyepic@gentoo.org>
+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 <jer@gentoo.org> clucene-0.9.21b.ebuild:
Marked ~hppa (bug #260777).
01 Mar 2009; Alexey Shvetsov <alexxy@gentoo.org> clucene-0.9.21b.ebuild:
Add ~mips love
05 Feb 2009; Brent Baude <ranger@gentoo.org> clucene-0.9.21b.ebuild:
Marking clucene-0.9.21b ppc64 for bug 251643
13 Jan 2009; Tiago Cunha <tcunha@gentoo.org> clucene-0.9.21b.ebuild:
stable sparc, bug 251643
08 Jan 2009; Jeroen Roovers <jer@gentoo.org> metadata.xml:
Fix <herd>.
20 Dec 2008; Markus Meier <maekke@gentoo.org> clucene-0.9.21b.ebuild:
x86 stable, bug #251643
20 Dec 2008; nixnut <nixnut@gentoo.org> clucene-0.9.21b.ebuild:
Stable on ppc wrt bug 251643
18 Dec 2008; Steve Dibb <beandog@gentoo.org> clucene-0.9.21b.ebuild:
amd64 stable
*clucene-0.9.21b (07 Nov 2008)
07 Nov 2008; Tomas Chvatal <scarabeus@gentoo.org> metadata.xml,
-clucene-0.9.20.ebuild, +clucene-0.9.21b.ebuild:
Version bump. Remove old.
21 Aug 2008; Friedrich Oslage <bluebird@gentoo.org> clucene-0.9.20.ebuild:
Add ~sparc keyword at user request, bug #234847
28 Apr 2008; Christian Heim <phreak@gentoo.org> metadata.xml:
Remove Wulf C. Krueger (philantrop) from metadata.xml (as per #168573).
28 Nov 2007; Markus Rothe <corsair@gentoo.org> clucene-0.9.20.ebuild:
Added ~ppc64
*clucene-0.9.20 (02 Oct 2007)
02 Oct 2007; Wulf C. Krueger <philantrop@gentoo.org> 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 <kloeri@gentoo.org> metadata.xml:
Remove squinky86 from metadata.xml due to retirement.
10 Mar 2007; Roy Marples <uberlord@gentoo.org> 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 <anant@gentoo.org> -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 <squinky86@gentoo.org> -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 <gentoo@mockies.de>.
*clucene-0.9.15 (07 Jul 2006)
07 Jul 2006; Jon Hood <squinky86@gentoo.org> +clucene-0.9.15.ebuild:
Version bump.
14 Jun 2006; <nixnut@gentoo.org> clucene-0.9.10.ebuild:
Added ~ppc wrt bug #136709
*clucene-0.9.10 (13 Jun 2006)
13 Jun 2006; Jon Hood <squinky86@gentoo.org> +metadata.xml,
+clucene-0.9.10.ebuild:
Initial import. Clucene is the C++ equivalent to Java's lucene package.
Thanks to Rohan McGovern <rohan@rohanpm.net> in bug #95633 for work on this
package.

7
dev-cpp/clucene/Manifest Normal file
View File

@ -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

View File

@ -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
}

View File

@ -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
}

View File

@ -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 <cassert>
+#include <stdio.h>
namespace jstreams {

View File

@ -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&);

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>kde</herd>
<maintainer>
<email>scarabeus@gentoo.org</email>
<name>Tomáš Chvátal</name>
</maintainer>
</pkgmetadata>