diff options
| author | Johannes Huber <johu@gmx.de> | 2011-08-19 14:55:22 +0200 |
|---|---|---|
| committer | Johannes Huber <johu@gmx.de> | 2011-08-19 14:55:22 +0200 |
| commit | 2780f3d1a0f2bb00f07c11f41ea91f76feef9e93 (patch) | |
| tree | 49647d825789b1ed0f5d8668afb704ce7c07cb39 /app-misc | |
| parent | cd4837c803d615b6f67f90e05a57fe368134c637 (diff) | |
| download | kde-2780f3d1a0f2bb00f07c11f41ea91f76feef9e93.tar.gz kde-2780f3d1a0f2bb00f07c11f41ea91f76feef9e93.tar.bz2 kde-2780f3d1a0f2bb00f07c11f41ea91f76feef9e93.zip | |
[app-misc/strigi] Fix build with clucene-2.3
Diffstat (limited to 'app-misc')
| -rw-r--r-- | app-misc/strigi/Manifest | 24 | ||||
| -rw-r--r-- | app-misc/strigi/files/strigi-0.7.5-clucene23.patch | 207 | ||||
| -rw-r--r-- | app-misc/strigi/files/strigi-0.7.5-ffmpeg.patch | 166 | ||||
| -rw-r--r-- | app-misc/strigi/strigi-0.7.5-r3.ebuild | 94 |
4 files changed, 471 insertions, 20 deletions
diff --git a/app-misc/strigi/Manifest b/app-misc/strigi/Manifest index a3d616b1220..d0cecf56d0b 100644 --- a/app-misc/strigi/Manifest +++ b/app-misc/strigi/Manifest @@ -1,23 +1,7 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA512 - +AUX strigi-0.7.5-clucene23.patch 8341 RMD160 db89b4e55fad4085e4a6e2b50e8b4fdd5a862238 SHA1 48adca2bb8b3d9c6ebc1655de2840ae60cbd350d SHA256 88afcfa39c907105c4bcd21f550960f3c009456d5fb482ab4e6952ec09671a8d +AUX strigi-0.7.5-ffmpeg.patch 6617 RMD160 77bf30f16e3912330ce946b78bc3524bc9d2497e SHA1 ba1de8c04b567b2a401d9dd88493a607d0ff5499 SHA256 5a61a807e98ebe79005933a01418c3a211e627df4e11ce7a4925ea0dcf4b0225 AUX strigi-0.7.5-no-qt4.patch 329 RMD160 e1e4904e4d907fcdd026d48aeeed86ee997a9797 SHA1 5f7f2a827990b59746204a0138a134bfba58ed33 SHA256 c98b889a6caf08f25eacc0e896968f6cbd2a8b317aa5aa441be4b5c49f315d38 +DIST strigi-0.7.5.tar.bz2 801845 RMD160 2cf9fa372de2bc06abcee25d0f41fa5f4916fa3c SHA1 0aa3632e07c58f2ab5c515004b790bda6cfefbf5 SHA256 111f5e3ede171292302b906418af0175445ca01958d40fb54879f80620b5189b +EBUILD strigi-0.7.5-r3.ebuild 2476 RMD160 4547249e3fb898c457c60f92d573c12632414099 SHA1 5284ce1d150fffd4891b42873310652d2ed1999d SHA256 3930398f66c495db77c13a77e2a258c64687f934892fa39d5d16e269cbed680a EBUILD strigi-9999.ebuild 2340 RMD160 e2aad5ef8f8dbdba9490689e8c919564f5a1a8bd SHA1 6378fed5cc81921292c1cccd44e49d0040895f3b SHA256 3cad9cb0fe2dda68ecdac6ab26abca1eae121bd1a73a6d5810213e2ac2fe3a80 MISC metadata.xml 486 RMD160 6eb5e37e0646dc21260e2938d9aa6286489e10cd SHA1 d600420837886e1d487266009b803ca76643c571 SHA256 2a4f8b7f0572075a608b0a3fb2e62321b4dbdd61b231cf72218246f0351cda12 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.17 (GNU/Linux) - -iQIcBAEBCgAGBQJOQvxRAAoJENwGBM22xffeY+MP/jePxW2i0GAs85L4T9XspauV -7KPBgIiE/zu27H6LLiETUNA+eZVm7owSDZya+qll3xQef2bqijok96ui8Zbyvzhi -z1BJnFjTlVwt6qdRf7KhxvgTQ1/tPNA90Bl9y8mD2m+tygPW94YeA4Oe8wZo/zgE -ZVQqBAV5JB3bTiboUPzYo5IuN4vxVZIdocvIJ9v6MAm/qi/J0Pw+8rQ0pceUNgwG -O/SzjaoG3YCw7wlZawtSQcJS+T6z+fJ9r2njq43XI2xFm3XUdHzqR84hLIxto17q -fJn0Qu75uuUIDS20mZUgYI706jS9bZk5Prt2Qde42fq15gXl93GQRRY9ecXHzycw -tx4FOiR+NAOZZmRDvEVXiP7NYQqjyWPFChPRI5tN19vxF5liIn7fxLoaqdkpsyDP -qkeP9tVs3HR3abqTyOmT2XSvNGfsCFUaG5yx+prQGJ1Z1l40x4W/sZ75rJ1TW6QA -kzKmI+4eoGQO8m+p/eOwajwe7ZreqxqR+iriYfoYdmo6Lh4lQm20Auiy16paELzg -O3NRXR2XwyhS33GlRZq07Sp5ObT6dGsh/fYqygSMUKhFtpTbYZsYRg4c0DwyXg90 -B5oqkMJcQXvCykDOioJvvpCB07yOM2mjYCIijgFmNRg3es0dUZogg5lDFrD4SlEp -IHjYR3vdti8WK5pYp5jB -=ZJDj ------END PGP SIGNATURE----- diff --git a/app-misc/strigi/files/strigi-0.7.5-clucene23.patch b/app-misc/strigi/files/strigi-0.7.5-clucene23.patch new file mode 100644 index 00000000000..0316671d328 --- /dev/null +++ b/app-misc/strigi/files/strigi-0.7.5-clucene23.patch @@ -0,0 +1,207 @@ +diff -upr strigi-0.7.5.orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp strigi-0.7.5/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp +--- strigi-0.7.5.orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp 2011-06-02 11:29:26.000000000 +0200 ++++ strigi-0.7.5/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp 2011-08-18 02:43:46.000000000 +0200 +@@ -56,7 +56,6 @@ using lucene::document::DocumentFieldEnu + using Strigi::IndexedDocument; + using Strigi::Variant; + using Strigi::FieldRegister; +-typedef boost::shared_ptr<lucene::index::Term> LuceneTerm; + + using namespace std; + +@@ -101,9 +100,9 @@ public: + CLuceneIndexReader& reader; + Private(CLuceneIndexReader& r) :reader(r) {} + +- static LuceneTerm createTerm(const wchar_t* name, const string& value); +- static LuceneTerm createKeywordTerm(const wchar_t* name, const string& value); +- static LuceneTerm createWildCardTerm(const wchar_t* name, const string& value); ++ static Term* createTerm(const wchar_t* name, const string& value); ++ static Term* createKeywordTerm(const wchar_t* name, const string& value); ++ static Term* createWildCardTerm(const wchar_t* name, const string& value); + Query* createQuery(const Strigi::Query& query); + Query* createSimpleQuery(const Strigi::Query& query); + static Query* createSingleFieldQuery(const string& field, +@@ -187,12 +186,12 @@ CLuceneIndexReader::mapId(const char* id + } + #endif + +-LuceneTerm ++Term* + CLuceneIndexReader::Private::createWildCardTerm(const wchar_t* name, + const string& value) { +- return LuceneTerm(_CLNEW Term(name, utf8toucs2(value).c_str())); ++ return _CLNEW Term(name, utf8toucs2(value).c_str()); + } +-LuceneTerm ++Term* + CLuceneIndexReader::Private::createTerm(const wchar_t* name, + const string& value) { + wstring v = utf8toucs2(value); +@@ -206,16 +205,15 @@ CLuceneIndexReader::Private::createTerm( + } else { + tv = v.c_str(); + } +- LuceneTerm t(_CLNEW Term(name, tv)); ++ Term* t = _CLNEW Term(name, tv); + _CLDELETE(ts); + return t; + } +-LuceneTerm ++Term* + CLuceneIndexReader::Private::createKeywordTerm(const wchar_t* name, + const string& value) { + wstring v = utf8toucs2(value); +- LuceneTerm t(_CLNEW Term(name, v.c_str())); +- return t; ++ return _CLNEW Term(name, v.c_str()); + } + BooleanQuery* + CLuceneIndexReader::Private::createBooleanQuery(const Strigi::Query& query) { +@@ -249,25 +247,24 @@ CLuceneIndexReader::Private::createSingl + const Strigi::Query& query) { + wstring fieldname = mapId(field.c_str()); + Query* q; +- LuceneTerm t; +- LuceneTerm nullTerm; ++ Term* t; + const string& val = query.term().string(); + switch (query.type()) { + case Strigi::Query::LessThan: + t = createTerm(fieldname.c_str(), val.c_str()); +- q = _CLNEW RangeQuery(nullTerm, t, false); ++ q = _CLNEW RangeQuery(0, t, false); + break; + case Strigi::Query::LessThanEquals: + t = createTerm(fieldname.c_str(), query.term().string()); +- q = _CLNEW RangeQuery(nullTerm, t, true); ++ q = _CLNEW RangeQuery(0, t, true); + break; + case Strigi::Query::GreaterThan: + t = createTerm(fieldname.c_str(), query.term().string()); +- q = _CLNEW RangeQuery(t, nullTerm, false); ++ q = _CLNEW RangeQuery(t, 0, false); + break; + case Strigi::Query::GreaterThanEquals: + t = createTerm(fieldname.c_str(), query.term().string()); +- q = _CLNEW RangeQuery(t, nullTerm, true); ++ q = _CLNEW RangeQuery(t, 0, true); + break; + case Strigi::Query::Keyword: + t = createKeywordTerm(fieldname.c_str(), query.term().string()); +@@ -282,6 +279,7 @@ CLuceneIndexReader::Private::createSingl + q = _CLNEW TermQuery(t); + } + } ++ _CLDECDELETE(t); + return q; + } + Query* +@@ -584,12 +582,13 @@ CLuceneIndexReader::documentId(const str + if (reader == NULL) return -1; + int64_t id = -1; + +- LuceneTerm term(_CLNEW Term(mapId(Private::systemlocation()), utf8toucs2( uri ).c_str())); ++ Term* term = _CLNEW Term(mapId(Private::systemlocation()), utf8toucs2( uri ).c_str()); + TermDocs* docs = reader->termDocs(term); + if (docs->next()) { + id = docs->doc(); + } + _CLDELETE(docs); ++ _CLDECDELETE(term); + + if (id != -1 && reader->isDeleted((int32_t)id)) { + id = -1; +@@ -770,12 +769,13 @@ CLuceneIndexReader::keywords(const strin + const wchar_t* prefixtext = prefix.c_str(); + string::size_type prefixLen = prefix.length(); + vector<string>::const_iterator i; +- LuceneTerm lastTerm; ++ Term* lastTerm; + for (i = fn.begin(); i != fn.end() && s.size() << max; ++i) { + wstring fieldname(utf8toucs2(*i)); +- LuceneTerm term(_CLNEW Term(fieldname.c_str(), prefix.c_str())); ++ Term* term = _CLNEW Term(fieldname.c_str(), prefix.c_str()); + TermEnum* enumerator = reader->terms(term); + do { ++ _CLDECDELETE(lastTerm); + lastTerm = enumerator->term(); + if (lastTerm) { + if (prefixLen > lastTerm->textLength() +@@ -786,7 +786,9 @@ CLuceneIndexReader::keywords(const strin + s.insert(lastTerm->text()); + } + } while (enumerator->next() && s.size() < max); ++ _CLDECDELETE(term); + } ++ _CLDECDELETE(lastTerm); + + k.reserve(s.size()); + set<wstring>::const_iterator j; +diff -upr strigi-0.7.5.orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp strigi-0.7.5/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp +--- strigi-0.7.5.orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp 2011-06-02 11:29:26.000000000 +0200 ++++ strigi-0.7.5/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp 2011-08-18 02:43:46.000000000 +0200 +@@ -45,7 +45,6 @@ using lucene::util::BitSet; + using lucene::util::Reader; + using namespace std; + using namespace Strigi; +-typedef boost::shared_ptr<lucene::index::Term> LuceneTerm; + + struct CLuceneDocData { + lucene::document::Document doc; +@@ -219,18 +218,19 @@ void + CLuceneIndexWriter::deleteEntry(const string& entry, lucene::index::IndexWriter* writer, lucene::index::IndexReader* reader) { + wstring path(utf8toucs2(entry)); + { +- LuceneTerm t(_CLNEW Term(systemlocation(), path.c_str())); ++ Term* t = _CLNEW Term(systemlocation(), path.c_str()); + writer->deleteDocuments(t); ++ _CLDECDELETE(t); + } + { +- LuceneTerm t(_CLNEW Term(parentlocation(), path.c_str())); ++ Term* t = _CLNEW Term(parentlocation(), path.c_str()); + writer->deleteDocuments(t); +- ++ _CLDECDELETE(t); + } + { + // delete all deeper nested files + wstring v = utf8toucs2(entry+"/"); +- LuceneTerm t(_CLNEW Term(parentlocation(), v.c_str())); ++ Term* t(_CLNEW Term(parentlocation(), v.c_str())); + PrefixFilter* filter = _CLNEW PrefixFilter(t); + BitSet* b = filter->bits(reader); + _CLDELETE(filter); +@@ -241,6 +241,7 @@ CLuceneIndexWriter::deleteEntry(const st + } + } + _CLDELETE(b); ++ _CLDECDELETE(t); + } + } + void +diff -upr strigi-0.7.5.orig/libstreamanalyzer/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp strigi-0.7.5/libstreamanalyzer/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp +--- strigi-0.7.5.orig/libstreamanalyzer/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp 2011-06-02 11:29:26.000000000 +0200 ++++ strigi-0.7.5/libstreamanalyzer/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp 2011-08-18 02:43:46.000000000 +0200 +@@ -40,7 +40,6 @@ using lucene::search::HitCollector; + using lucene::util::BitSet; + using lucene::document::DocumentFieldEnumeration; + using lucene::index::IndexReader; +-typedef boost::shared_ptr<lucene::index::Term> LuceneTerm; + + std::string + t2a(const TCHAR* t) { +@@ -68,10 +67,11 @@ indexdump(const char* dir) { + } + } + TermEnum* terms = indexreader->terms(); +- LuceneTerm t; ++ Term* t = 0; + while (terms->next()) { + t = terms->term(); + printf("%s: %s\n", t2a(t->field()).c_str(), t2a(t->text()).c_str()); ++ _CLDECDELETE(t); + } + } + int diff --git a/app-misc/strigi/files/strigi-0.7.5-ffmpeg.patch b/app-misc/strigi/files/strigi-0.7.5-ffmpeg.patch new file mode 100644 index 00000000000..ee1bfc02602 --- /dev/null +++ b/app-misc/strigi/files/strigi-0.7.5-ffmpeg.patch @@ -0,0 +1,166 @@ +diff -ruN strigi-0.7.5.orig/libstreamanalyzer/plugins/endplugins/ffmpegendanalyzer.cpp strigi-0.7.5/libstreamanalyzer/plugins/endplugins/ffmpegendanalyzer.cpp +--- strigi-0.7.5.orig/libstreamanalyzer/plugins/endplugins/ffmpegendanalyzer.cpp 2011-06-02 11:29:26.000000000 +0200 ++++ strigi-0.7.5/libstreamanalyzer/plugins/endplugins/ffmpegendanalyzer.cpp 2011-08-02 23:25:04.936181179 +0200 +@@ -1,6 +1,7 @@ + /* This file is part of Strigi Desktop Search + * + * Copyright (C) 2010 Evgeny Egorochkin <phreedom.stdin@gmail.com> ++ * Copyright (C) 2011 Tirtha Chatterjee <tirtha.p.chatterjee@gmail.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public +@@ -348,7 +349,7 @@ + if ((size = in->size()) >= 0) + ar.addValue(factory->durationProperty, (uint32_t)(size/(fc->bit_rate/8))); + } +- if(fc->nb_streams==1 && fc->streams[0]->codec->codec_type == CODEC_TYPE_AUDIO) { ++ if(fc->nb_streams==1 && fc->streams[0]->codec->codec_type == AVMEDIA_TYPE_AUDIO) { + ar.addValue(factory->typeProperty, NFO "Audio"); + ar.addValue(factory->typeProperty, NMM_DRAFT "MusicPiece"); + } else { +@@ -359,7 +360,7 @@ + const AVStream &stream = *fc->streams[i]; + const AVCodecContext &codec = *stream.codec; + +- if (codec.codec_type == CODEC_TYPE_AUDIO || codec.codec_type == CODEC_TYPE_VIDEO) { ++ if (codec.codec_type == AVMEDIA_TYPE_AUDIO || codec.codec_type == AVMEDIA_TYPE_VIDEO) { + const string streamuri = ar.newAnonymousUri(); + ar.addValue(factory->hasPartProperty, streamuri); + ar.addTriplet(streamuri, partOfPropertyName, ar.path()); +@@ -370,8 +371,16 @@ + outs << (stream.duration * stream.time_base.num / stream.time_base.den); + ar.addTriplet(streamuri, durationPropertyName,outs.str()); + } +- if (size_t len = strlen(stream.language)) { +- ar.addTriplet(streamuri, languagePropertyName, string(stream.language, len)); ++ ++ //FIXME we must stop using the deprecated fuction av_metadata_get and use ++ // av_dict_get once we are able to detect the version of FFMpeg being used ++ // using version macros. same goes for all occurences of this function. ++ AVMetadataTag *entry = av_metadata_get(stream.metadata, "language", NULL, 0); ++ if (entry != NULL) { ++ const char *languageValue = entry->value; ++ if (size_t len = strlen(languageValue)) { ++ ar.addTriplet(streamuri, languagePropertyName, string(languageValue, len)); ++ } + } + const AVCodec *p = avcodec_find_decoder(codec.codec_id); + if (p) { +@@ -408,7 +417,7 @@ + ar.addTriplet(streamuri, bitratePropertyName, outs.str()); + } + +- if (codec.codec_type == CODEC_TYPE_AUDIO) { ++ if (codec.codec_type == AVMEDIA_TYPE_AUDIO) { + + ar.addTriplet(streamuri, typePropertyName, audioClassName); + if (codec.channels) { +@@ -458,36 +467,83 @@ + } + + // Tags +- +- if (int32_t len = strlen(fc->title)) { +- ar.addValue(factory->titleProperty, string(fc->title, len) ); ++ ++ AVMetadataTag *entry = av_metadata_get(fc->metadata, "title", NULL, 0); ++ if (entry != NULL) ++ { ++ const char *titleValue = entry->value; ++ if (int32_t len = strlen(titleValue)) { ++ ar.addValue(factory->titleProperty, string(titleValue, len) ); ++ } ++ } ++ ++ entry = av_metadata_get(fc->metadata, "author", NULL, 0); ++ if (entry != NULL) ++ { ++ const char *authorValue = entry->value; ++ if (int32_t len = strlen(authorValue)) { ++ const string creatoruri = ar.newAnonymousUri(); ++ ar.addValue(factory->creatorProperty, creatoruri); ++ ar.addTriplet(creatoruri, typePropertyName, contactClassName); ++ ar.addTriplet(creatoruri, fullnamePropertyName, string(authorValue, len) ); ++ } ++ } ++ ++ entry = av_metadata_get(fc->metadata, "copyright", NULL, 0); ++ if (entry != NULL) ++ { ++ const char *copyrightValue = entry->value; ++ if (int32_t len = strlen(copyrightValue)) { ++ ar.addValue(factory->copyrightProperty, string(copyrightValue, len) ); ++ } + } +- if (int32_t len = strlen(fc->author)) { +- const string creatoruri = ar.newAnonymousUri(); +- ar.addValue(factory->creatorProperty, creatoruri); +- ar.addTriplet(creatoruri, typePropertyName, contactClassName); +- ar.addTriplet(creatoruri, fullnamePropertyName, string(fc->author, len) ); +- } +- if (int32_t len = strlen(fc->copyright)) { +- ar.addValue(factory->copyrightProperty, string(fc->copyright, len) ); +- } +- if (int32_t len = strlen(fc->comment)) { +- ar.addValue(factory->commentProperty, string(fc->comment, len) ); +- } +- if (int32_t len = strlen(fc->album)) { +- const string album = ar.newAnonymousUri(); +- ar.addValue(factory->albumProperty, album); ++ ++ entry = av_metadata_get(fc->metadata, "comment", NULL, 0); ++ if (entry != NULL) ++ { ++ const char *commentValue = entry->value; ++ if (int32_t len = strlen(commentValue)) { ++ ar.addValue(factory->commentProperty, string(commentValue, len) ); ++ } ++ } ++ ++ entry = av_metadata_get(fc->metadata, "album", NULL, 0); ++ if (entry != NULL) ++ { ++ const char *albumValue = entry->value; ++ if (int32_t len = strlen(albumValue)) { ++ const string album = ar.newAnonymousUri(); ++ ar.addValue(factory->albumProperty, album); + ar.addTriplet(album, typePropertyName, albumClassName); +- ar.addTriplet(album, titlePropertyName, string(fc->album, len) ); ++ ar.addTriplet(album, titlePropertyName, string(albumValue, len) ); ++ } + } +- if (int32_t len = strlen(fc->genre)) { +- ar.addValue(factory->genreProperty, string(fc->genre, len) ); ++ ++ entry = av_metadata_get(fc->metadata, "genre", NULL, 0); ++ if (entry != NULL) ++ { ++ const char *genreValue = entry->value; ++ if (int32_t len = strlen(genreValue)) { ++ ar.addValue(factory->genreProperty, string(genreValue, len) ); ++ } + } +- if (fc->track) { +- ar.addValue(factory->trackProperty, fc->track); ++ ++ entry = av_metadata_get(fc->metadata, "track", NULL, 0); ++ if (entry != NULL) ++ { ++ const char *trackValue = entry->value; ++ if (int32_t len = strlen(trackValue)) { ++ ar.addValue(factory->trackProperty, string(trackValue, len) ); ++ } + } +- if (fc->year) { +- ar.addValue(factory->createdProperty, fc->year); ++ ++ entry = av_metadata_get(fc->metadata, "year", NULL, 0); ++ if (entry != NULL) ++ { ++ const char *yearValue = entry->value; ++ if (int32_t len = strlen(yearValue)) { ++ ar.addValue(factory->createdProperty, string(yearValue, len) ); ++ } + } + + av_close_input_stream(fc); diff --git a/app-misc/strigi/strigi-0.7.5-r3.ebuild b/app-misc/strigi/strigi-0.7.5-r3.ebuild new file mode 100644 index 00000000000..b80205a1c68 --- /dev/null +++ b/app-misc/strigi/strigi-0.7.5-r3.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +if [[ "${PV}" != "9999" ]]; then + SRC_URI="http://www.vandenoever.info/software/${PN}/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux" +else + EGIT_REPO_URI="git://anongit.kde.org/strigi" + GIT_ECLASS="git-2" + EGIT_HAS_SUBMODULES="true" + KEYWORDS="" +fi + +inherit cmake-utils ${GIT_ECLASS} + +DESCRIPTION="Fast crawling desktop search engine with Qt4 GUI" +HOMEPAGE="http://strigi.sourceforge.net/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="clucene +dbus debug exif fam ffmpeg hyperestraier inotify log +qt4 test" + +COMMONDEPEND=" + app-arch/bzip2:0 + dev-libs/libxml2:2 + sys-libs/zlib:0 + virtual/libiconv + clucene? ( >=dev-cpp/clucene-0.9.21[-debug] ) + dbus? ( + sys-apps/dbus + qt4? ( x11-libs/qt-dbus:4 ) + ) + exif? ( >=media-gfx/exiv2-0.17 ) + fam? ( virtual/fam ) + ffmpeg? ( virtual/ffmpeg ) + hyperestraier? ( app-text/hyperestraier ) + log? ( >=dev-libs/log4cxx-0.10.0 ) + qt4? ( + x11-libs/qt-core:4 + x11-libs/qt-gui:4 + ) +" +DEPEND="${COMMONDEPEND} + test? ( dev-util/cppunit )" +RDEPEND="${COMMONDEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-0.7.5-no-qt4.patch" + "${FILESDIR}/${PN}-0.7.5-ffmpeg.patch" + "${FILESDIR}/${PN}-0.7.5-clucene23.patch" +) + +src_configure() { + # Enabled: POLLING (only reliable way to check for files changed.) + # Disabled: xine - recommended upstream to keep it this way + mycmakeargs=( + -DENABLE_POLLING=ON + -DFORCE_DEPS=ON + -DENABLE_CPPUNIT=OFF + -DENABLE_REGENERATEXSD=OFF + -DENABLE_XINE=OFF + $(cmake-utils_use_enable clucene) + $(cmake-utils_use_enable dbus) + $(cmake-utils_use_enable exif EXIV2) + $(cmake-utils_use_enable fam) + $(cmake-utils_use_enable ffmpeg) + $(cmake-utils_use_enable hyperestraier) + $(cmake-utils_use_enable inotify) + $(cmake-utils_use_enable log LOG4CXX) + $(cmake-utils_use_enable qt4) + $(cmake-utils_use_enable test CPPUNIT) + ) + + if use qt4; then + mycmakeargs+=(-DENABLE_DBUS=ON) + fi + + cmake-utils_src_configure +} + +pkg_postinst() { + if ! use clucene && ! use hyperestraier; then + echo + elog "Because you didn't enable either of the available backends:" + elog "clucene or hyperestraier, strigi may not be functional." + elog "If you intend to use standalone strigi indexer (not needed for KDE)," + elog "be sure to reinstall app-misc/strigi with either clucene (recommended)" + elog "or hyperestraier (unreliable) USE flag enabled." + echo + fi +} |
