summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Hüttel <dilfridge@gentoo.org>2011-08-02 21:30:40 +0000
committerAndreas Hüttel <dilfridge@gentoo.org>2011-08-02 21:30:40 +0000
commit2bcb68a8c9238884671971170cce1b2796ad0e69 (patch)
treecccb30df36a355a6f6bebbbcd96528ad24cb71a9 /app-misc/strigi
parentVersion bump. (diff)
downloadhistorical-2bcb68a8c9238884671971170cce1b2796ad0e69.tar.gz
historical-2bcb68a8c9238884671971170cce1b2796ad0e69.tar.bz2
historical-2bcb68a8c9238884671971170cce1b2796ad0e69.zip
Add upstream fix for new ffmpeg / libav, bug 376189
Package-Manager: portage-2.1.10.9/cvs/Linux x86_64
Diffstat (limited to 'app-misc/strigi')
-rw-r--r--app-misc/strigi/ChangeLog8
-rw-r--r--app-misc/strigi/Manifest30
-rw-r--r--app-misc/strigi/files/strigi-0.7.5-ffmpeg.patch166
-rw-r--r--app-misc/strigi/strigi-0.7.5-r2.ebuild93
4 files changed, 282 insertions, 15 deletions
diff --git a/app-misc/strigi/ChangeLog b/app-misc/strigi/ChangeLog
index 80094b052ef0..90445cbe3098 100644
--- a/app-misc/strigi/ChangeLog
+++ b/app-misc/strigi/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-misc/strigi
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-misc/strigi/ChangeLog,v 1.69 2011/07/17 12:17:12 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-misc/strigi/ChangeLog,v 1.70 2011/08/02 21:30:40 dilfridge Exp $
+
+*strigi-0.7.5-r2 (02 Aug 2011)
+
+ 02 Aug 2011; Andreas K. Huettel <dilfridge@gentoo.org>
+ +strigi-0.7.5-r2.ebuild, +files/strigi-0.7.5-ffmpeg.patch:
+ Add upstream fix for new ffmpeg / libav, bug 376189
*strigi-0.7.5-r1 (17 Jul 2011)
diff --git a/app-misc/strigi/Manifest b/app-misc/strigi/Manifest
index 682e6c4dcba6..160da7ca4989 100644
--- a/app-misc/strigi/Manifest
+++ b/app-misc/strigi/Manifest
@@ -3,6 +3,7 @@ Hash: SHA512
AUX strigi-0.6.4-gcc44.patch 1024 RMD160 194d69ba906c4da9ead9349545f26567dadc8ed2 SHA1 37c4622dd3b3b96de268e8ef15f52d8dea284d49 SHA256 94c594b16c0189706d0b0d565648b685a53910721f2340251ce7197ad5c213df
AUX strigi-0.6.5-gcc4.4-missing-headers.patch 1020 RMD160 91e447323303315a1f8fe282afce6add0f4c802a SHA1 308c03e5fd1b1671ea2690ceaff2426050390f92 SHA256 a16029a8caaede0c0427865a06a308fd6de0f526840b88274fab5ada0233c3c8
+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
AUX strigi-disable_java.patch 784 RMD160 870decf02f7bda63bae9a6f7df0b26caed753fdc SHA1 09dc828ecef7287e7286277713d07f84d6ff72bf SHA256 f267a0a804d96e9ef4cac1138f98572bec17906021282b4db905b804c33b956d
DIST strigi-0.7.1.tar.bz2 936454 RMD160 4dac3c3e8937dc1e0ea5cc759c95d64ba4e24898 SHA1 9e05a875a1c62ebb5c0c59bf2114253cd1bc2a07 SHA256 d1830506da50262c80d5a3b55ee7821b132184cbd251c527db8d9d76a9242ab3
@@ -11,23 +12,24 @@ DIST strigi-0.7.5.tar.bz2 801845 RMD160 2cf9fa372de2bc06abcee25d0f41fa5f4916fa3c
EBUILD strigi-0.7.1.ebuild 2777 RMD160 416a9ddb7778fc1fccc7b018be836e98280fe863 SHA1 25aa47b2d7bc7c464f2c7a9268fc67609fa37cdd SHA256 da6027c00e964e58d539f141ff147ce2d4c282d24b4317bbb1f8d4d440d73a61
EBUILD strigi-0.7.2.ebuild 2783 RMD160 4e59248c19abab1bc5bd787099ae62895b1f1180 SHA1 037021fdbb43b24b75cd0af8f0e8728abef94ed8 SHA256 227c0e9072dcf2e717601e3d03476215dd4aaf83aab02a2467db7a6cc2cb2473
EBUILD strigi-0.7.5-r1.ebuild 2510 RMD160 8f6983e611e44ebba9985440d184507909017edd SHA1 29ccd35e2679dfda47e00779083be8bf2e2a0c68 SHA256 73ff48db65fee5a951d83aa875a3dabe53d01869d52abf437a6fd140ecd243c8
+EBUILD strigi-0.7.5-r2.ebuild 2550 RMD160 22c5875c7eadfe43b4672783050474fcd6396977 SHA1 b7787f0f13c3672dfc9ca74bfd49b41fd72ad9ef SHA256 4782f5f5124f7914630d1ace60426f0393cbf3eb4a9b7dbfc79369397efe85a3
EBUILD strigi-0.7.5.ebuild 2450 RMD160 804c4f19e81c311504f9f7c4d120dce220d93aa5 SHA1 d713a8dcc2116dac649d65f988d587e5fb996b8e SHA256 f549215139a01a86e8511c4e4b6080ade2e57696748bb0f7f6c042fcab28f3e0
-MISC ChangeLog 14217 RMD160 2fbaecc7caee4b1ac04a2a1ab8bafde2238c1447 SHA1 2b176e90a3e8d90a0cfb4c073d24cd21cf91ae3c SHA256 aacf31bbc8ae7f8f6650e8dcfbd5019f17877fa4a4e866d2703d3eba7a461717
+MISC ChangeLog 14422 RMD160 0528a2158c08321b954192c1d4fd2bbda5dd54b0 SHA1 3d0336b346565a48ccca4d4342fefaab90996d65 SHA256 656ee14f71dc6035beb27b80fec39d9d5242d46a961f6c361255569e71bac7cd
MISC metadata.xml 486 RMD160 6eb5e37e0646dc21260e2938d9aa6286489e10cd SHA1 d600420837886e1d487266009b803ca76643c571 SHA256 2a4f8b7f0572075a608b0a3fb2e62321b4dbdd61b231cf72218246f0351cda12
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (GNU/Linux)
-iQIcBAEBCgAGBQJOItLSAAoJEEb+UGWnxTyH6bYP/R37Y7G7kcy/oOtGrIgr55F/
-jJoqZkoV9irjLagfddvLHzyGMI85KAuXc28CO6j9jGS0GG9yw3pheLBOf6yaZV9Z
-QT1ixaos9CWEKqOMQk5uegtl2+ur5bp4Ky5qamgCfjrvwUUFrVMFvopvOgyeMnUd
-oq3iZRHBzUl0NIPUayWHV/XauB2OacNiUrYyedjOEiB0EE7wEz8VxQfPkFSFJ/6g
-EoVVCn5jLVuVb6nwnyZX5jkYf1z59up2KnJqorKyg8cj2EY6/dW4Vp3LHAfEHTRz
-gs4dOK+yeZYgPcxbnq1qp9fRXftyVcdqeNMEzqmmVuscX49yDnEKku/s18qGMFPm
-AylukPCxADj0dV+8X+3/ZG04UKwVg2eGluJOvHgInftJGl4vC/TZuIXccK6CvPjU
-6yM0VFezYGwoUKHvxksQBFSo88Cn6awjkB3VaXHzsvTcJHErqwJGB6Q2oJ1KRECQ
-x7GBz3fyLxOQQ4ZIDVDs5X1m/TTOIrgSvcI/YIntSzpAscDvvtrUA7ai3rAwPyuU
-yCYD+U5bevh9hRtnG9FEKcrFb8HKynBHCvX2Fm5qRHU6S/9/myn0gyeRqP5CnQj6
-JUY7xIwp4+i2qhDUIvouc/Ejg/0WDSn8s1KlSPGlFVeBEGsJF2f62s3kowQXJc5G
-cRgAnTi+UEnzQv0olltX
-=r/2b
+iQIcBAEBCgAGBQJOOGyLAAoJENwGBM22xffevwQQAIsI68a8coY1AuqwbVr9iXcr
+TQ60z1skmwwAQM6dRXLYQqTqo61/m+c+Yr7NgM6B4iy84u8KuzEyQ6CkaZLjqrwt
+/jNLi5PMRLFqz5tE7XyxsIXYEI7oVmHj4iqJTgZyfJn7ZFjN7unf+lJ0UTFb/di1
+ACYl+t/Cyw5j+U3mL2M9+SrQOitu4s3Mh/dsgR0BPCSlRmBIb1nIfA+OuUE6WkOf
+ahT8gQpjhqquddQ4rQn0uD4P1Ak9t1fNd4MmmO+qRVR3uqMshoKdSfPSVUhnXY3z
+wZzoJe3e0LnMKIOA2+s29l/Mx8CcayWKD7lDqBZmr8JtGJ+c7lxpr8UCkm5AyCsF
+UWxlEYpk5LHGYmd1uD9kkM3K7E7Hpg8VBfzEmdyYly+yF7jmzaHlKW8SQmbRyDze
+tFvk68VaQgFwrcapnAxaAKAHT5y1kccT5Jey66JXaOjU+4b+GSMuNXk6S453SJwc
+qK13tFERrXrJ4dY+OdvN3wV+BG+PDMJmGG+csrtiinoKl7vNSlqjIzVt8EZFLGfk
+YD3BN6FvTu3RX+EcsY7KKIVHs9VriVu6qJq6ES4w64X3QU//FFFJdIag33uxz8Mm
+yDRdE9BSiiWjy4X7DH0SO4IzT3Rz8dL+A1ByKgtyZ6HQpwM5ZOVHUHDD8Z08gUmQ
+fO3uRWQoqNoxvverOuui
+=UCgJ
-----END PGP SIGNATURE-----
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 000000000000..ee1bfc026025
--- /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-r2.ebuild b/app-misc/strigi/strigi-0.7.5-r2.ebuild
new file mode 100644
index 000000000000..8edb4fbcdb87
--- /dev/null
+++ b/app-misc/strigi/strigi-0.7.5-r2.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-misc/strigi/strigi-0.7.5-r2.ebuild,v 1.1 2011/08/02 21:30:40 dilfridge Exp $
+
+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"
+)
+
+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
+ $(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)
+ $(cmake-utils_use_disable xine)
+ )
+
+ 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
+}