summaryrefslogtreecommitdiffstats
path: root/source/l/strigi
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2016-06-30 20:26:57 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 23:31:18 +0200
commitd31c50870d0bee042ce660e445c9294a59a3a65b (patch)
tree6bfc0de3c95267b401b620c2c67859557dc60f97 /source/l/strigi
parent76fc4757ac91ac7947a01fb7b53dddf9a78a01d1 (diff)
downloadcurrent-d31c50870d0bee042ce660e445c9294a59a3a65b.tar.gz
current-d31c50870d0bee042ce660e445c9294a59a3a65b.tar.xz
Slackware 14.2slackware-14.2
Thu Jun 30 20:26:57 UTC 2016 Slackware 14.2 x86_64 stable is released! The long development cycle (the Linux community has lately been living in "interesting times", as they say) is finally behind us, and we're proud to announce the release of Slackware 14.2. The new release brings many updates and modern tools, has switched from udev to eudev (no systemd), and adds well over a hundred new packages to the system. Thanks to the team, the upstream developers, the dedicated Slackware community, and everyone else who pitched in to help make this release a reality. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. Have fun! :-)
Diffstat (limited to 'source/l/strigi')
-rw-r--r--source/l/strigi/libstreamanalyzer-0001-Fix-for-non-valid-values-in-Exif-field-ISOSpeedRatin.patch30
-rw-r--r--source/l/strigi/libstreamanalyzer-0002-order-matters-for-systems-that-have-things-already-i.patch33
-rw-r--r--source/l/strigi/libstreamanalyzer-0003-Fix-Krazy-issues.patch1266
-rw-r--r--source/l/strigi/libstreamanalyzer-0004-ffmpeg-Rename-mutex-to-g_mutex.patch50
-rw-r--r--source/l/strigi/libstreamanalyzer-0005-use-rpath-only-when-needed.patch31
-rw-r--r--source/l/strigi/libstreams-0001-Generate-config.h-after-looking-for-dependencies.patch43
-rw-r--r--source/l/strigi/libstreams-0002-Reduce-noise-in-analysis-tools-complain-about-resour.patch65
-rw-r--r--source/l/strigi/libstreams-0003-Build-fix-for-gcc-4.8.patch25
-rw-r--r--source/l/strigi/libstreams-0004-Fix-Krazy-issues.patch276
-rw-r--r--source/l/strigi/libstreams-0005-use-rpath-only-when-needed.patch31
-rw-r--r--source/l/strigi/strigi-fix-ftbfs-with-gcc-4.7.diff16
-rwxr-xr-xsource/l/strigi/strigi.SlackBuild18
12 files changed, 1862 insertions, 22 deletions
diff --git a/source/l/strigi/libstreamanalyzer-0001-Fix-for-non-valid-values-in-Exif-field-ISOSpeedRatin.patch b/source/l/strigi/libstreamanalyzer-0001-Fix-for-non-valid-values-in-Exif-field-ISOSpeedRatin.patch
new file mode 100644
index 000000000..45201c8a7
--- /dev/null
+++ b/source/l/strigi/libstreamanalyzer-0001-Fix-for-non-valid-values-in-Exif-field-ISOSpeedRatin.patch
@@ -0,0 +1,30 @@
+From b6dc8d4c14135c2fddb1143106d90cbb3acf94b7 Mon Sep 17 00:00:00 2001
+From: Jos van den Oever <jos@vandenoever.info>
+Date: Thu, 7 Feb 2013 06:11:22 +0100
+Subject: [PATCH 1/5] Fix for non valid values in Exif field ISOSpeedRatings
+ reported in bug https://bugs.kde.org/show_bug.cgi?id=304439
+
+BUG: 304439
+---
+ plugins/endplugins/jpegendanalyzer.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/plugins/endplugins/jpegendanalyzer.cpp b/plugins/endplugins/jpegendanalyzer.cpp
+index 78ed36a..02b095b 100644
+--- a/plugins/endplugins/jpegendanalyzer.cpp
++++ b/plugins/endplugins/jpegendanalyzer.cpp
+@@ -322,6 +322,11 @@ JpegEndAnalyzer::analyze(AnalysisResult& ar, ::InputStream* in) {
+ ar.addValue(factory->exifFields.find("Exif.Image.DateTime")->second, uint32_t(mktime(&date)));
+ }
+ }
++ else if (i->key() == "Exif.Photo.ISOSpeedRatings") {
++ stringstream st;
++ st << i->toLong();
++ ar.addValue(factory->exifFields.find("Exif.Photo.ISOSpeedRatings")->second, st.str());
++ }
+ else if (i->key() != "Exif.Photo.PixelXDimension" && i->key() != "Exif.Photo.PixelYDimension") {
+ map<string,const RegisteredField*>::const_iterator f
+ = factory->exifFields.find(i->key());
+--
+1.8.4.2
+
diff --git a/source/l/strigi/libstreamanalyzer-0002-order-matters-for-systems-that-have-things-already-i.patch b/source/l/strigi/libstreamanalyzer-0002-order-matters-for-systems-that-have-things-already-i.patch
new file mode 100644
index 000000000..c940f6cf3
--- /dev/null
+++ b/source/l/strigi/libstreamanalyzer-0002-order-matters-for-systems-that-have-things-already-i.patch
@@ -0,0 +1,33 @@
+From 22d1b9923a61e0f890a39c80f661aeffaaeb2cb5 Mon Sep 17 00:00:00 2001
+From: Aaron Seigo <aseigo@kde.org>
+Date: Wed, 13 Feb 2013 17:29:52 +0100
+Subject: [PATCH 2/5] order matters for systems that have things already
+ installed
+
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7819ddf..6dee36b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -119,13 +119,13 @@ configure_file(${libstreamanalyzer_SOURCE_DIR}/strigi_thread.h.cmake
+ ${libstreamanalyzer_BINARY_DIR}/include/strigi/strigi_thread.h)
+
+ # every directory needs the headers that will be installed
+-include_directories(${LIBSTREAMS_INCLUDE_DIRS}
+- ${libstreamanalyzer_SOURCE_DIR}/include
++include_directories(${libstreamanalyzer_SOURCE_DIR}/include
+ ${libstreamanalyzer_SOURCE_DIR}/include/strigi
+ ${libstreamanalyzer_BINARY_DIR}/include
+ ${libstreamanalyzer_BINARY_DIR}/include/strigi
+ ${libstreamanalyzer_SOURCE_DIR}/lib
+ ${libstreamanalyzer_BINARY_DIR}/lib
++ ${LIBSTREAMS_INCLUDE_DIRS}
+ ${ICONV_INCLUDE_DIR}
+ ${LIBSTREAMS_LIBRARY_DIRS}
+ ${EXIV2_INCLUDEDIR}
+--
+1.8.4.2
+
diff --git a/source/l/strigi/libstreamanalyzer-0003-Fix-Krazy-issues.patch b/source/l/strigi/libstreamanalyzer-0003-Fix-Krazy-issues.patch
new file mode 100644
index 000000000..fab488321
--- /dev/null
+++ b/source/l/strigi/libstreamanalyzer-0003-Fix-Krazy-issues.patch
@@ -0,0 +1,1266 @@
+From 8af24118fec3a0effee3a01ad37f4c4daddfe700 Mon Sep 17 00:00:00 2001
+From: Jos van den Oever <jos@vandenoever.info>
+Date: Fri, 12 Jul 2013 15:15:18 +0200
+Subject: [PATCH 3/5] Fix Krazy issues.
+
+---
+ .krazy | 2 +
+ cmake/FindCLucene.cmake | 18 ++++++++
+ cmake/FindCLucene1.cmake | 18 ++++++++
+ cmake/FindExiv2.cmake | 2 +-
+ cmake/FindFFmpeg.cmake | 2 +-
+ cmake/FindIconv.cmake | 19 ++++++++
+ cmake/FindXAttr.cmake | 19 ++++++++
+ include/strigi/classproperties.h | 4 +-
+ include/strigi/fieldproperties.h | 4 +-
+ include/strigi/fieldtypes.h | 4 +-
+ include/strigi/filelister.h | 4 +-
+ include/strigi/streamanalyzer.h | 2 +-
+ include/strigi/variant.h | 14 +++---
+ lib/endanalyzers/arendanalyzer.h | 2 +-
+ lib/endanalyzers/bmpendanalyzer.h | 2 +-
+ lib/endanalyzers/bz2endanalyzer.h | 2 +-
+ lib/endanalyzers/flacendanalyzer.h | 2 +-
+ lib/endanalyzers/gzipendanalyzer.h | 2 +-
+ lib/endanalyzers/id3endanalyzer.cpp | 6 +--
+ lib/endanalyzers/id3endanalyzer.h | 2 +-
+ lib/endanalyzers/lzmaendanalyzer.h | 2 +-
+ lib/endanalyzers/mailendanalyzer.h | 2 +-
+ lib/endanalyzers/mpegendanalyzer.h | 2 +-
+ lib/endanalyzers/odfendanalyzer.h | 2 +-
+ lib/endanalyzers/oleendanalyzer.h | 2 +-
+ lib/endanalyzers/pdfendanalyzer.h | 2 +-
+ lib/endanalyzers/pngendanalyzer.h | 2 +-
+ lib/endanalyzers/rpmendanalyzer.h | 2 +-
+ lib/endanalyzers/sdfendanalyzer.h | 2 +-
+ lib/endanalyzers/tarendanalyzer.h | 2 +-
+ lib/endanalyzers/zipendanalyzer.h | 2 +-
+ lib/eventanalyzers/mimeeventanalyzer.h | 2 +-
+ lib/eventthroughanalyzer.h | 2 +-
+ lib/fieldpropertiesdb.cpp | 20 ++++----
+ lib/helperanalyzers/odfcontenthelperanalyzer.cpp | 1 -
+ lib/helperanalyzers/odfmetahelperanalyzer.cpp | 1 -
+ lib/libstreamanalyzer.pc.cmake | 19 ++++++++
+ lib/lineanalyzers/m3ustreamanalyzer.h | 2 +-
+ lib/lineanalyzers/odfmimetypelineanalyzer.h | 2 +-
+ lib/lineeventanalyzer.h | 2 +-
+ lib/logging.h | 2 +-
+ lib/rdfnamespaces.h | 4 +-
+ lib/saxeventanalyzer.h | 2 +-
+ lib/throughanalyzers/oggthroughanalyzer.h | 2 +-
+ lib/xmlparser/xmlstream.h | 4 +-
+ plugins/endplugins/ffmpegendanalyzer.cpp | 6 +--
+ plugins/eventplugins/SHA1.h | 6 +--
+ .../indexers/cluceneindexer/cluceneindexreader.cpp | 4 +-
+ .../indexers/cluceneindexer/cluceneindexwriter.cpp | 54 +---------------------
+ .../cluceneindexer/jsgzipcompressstream.cpp | 2 +-
+ .../indexers/cluceneindexer/tests/CLuceneTest.cpp | 19 ++++++++
+ plugins/indexers/cluceneindexer/timeofday.h | 39 ++++++++--------
+ .../clucenengindexer/cluceneindexreader.cpp | 8 ++--
+ .../clucenengindexer/cluceneindexwriter.cpp | 4 +-
+ .../clucenengindexer/indexdump/indexdump.cpp | 5 +-
+ .../clucenengindexer/tests/CLuceneTest.cpp | 19 ++++++++
+ plugins/indexers/clucenengindexer/timeofday.h | 39 ++++++++--------
+ plugins/lineplugins/deblineanalyzer.h | 2 +-
+ plugins/throughplugins/authroughanalyzer.h | 2 +-
+ plugins/throughplugins/dummy.cpp | 19 ++++++++
+ plugins/throughplugins/pcxthroughanalyzer.h | 2 +-
+ 61 files changed, 271 insertions(+), 176 deletions(-)
+ create mode 100644 .krazy
+
+diff --git a/.krazy b/.krazy
+new file mode 100644
+index 0000000..b0e1177
+--- /dev/null
++++ b/.krazy
+@@ -0,0 +1,2 @@
++# see http://techbase.kde.org/Development/Tutorials/Code_Checking#Controlling_Krazy_on_the_EBN for an explanation of this file
++EXCLUDE syscalls,typedefs
+diff --git a/cmake/FindCLucene.cmake b/cmake/FindCLucene.cmake
+index 906afcc..31d1557 100644
+--- a/cmake/FindCLucene.cmake
++++ b/cmake/FindCLucene.cmake
+@@ -1,3 +1,21 @@
++# This file is part of Strigi Desktop Search
++#
++# Copyright (C) 2007 Jos van den Oever <jos@vandenoever.info>
++#
++# This library is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Library General Public
++# License as published by the Free Software Foundation; either
++# version 2 of the License, or (at your option) any later version.
++#
++# This library is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Library General Public License for more details.
++#
++# You should have received a copy of the GNU Library General Public License
++# along with this library; see the file COPYING.LIB. If not, write to
++# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++# Boston, MA 02110-1301, USA.
+ #
+ # This module looks for clucene (http://clucene.sf.net) support
+ # It will define the following values
+diff --git a/cmake/FindCLucene1.cmake b/cmake/FindCLucene1.cmake
+index ae431c8..d8ce7dd 100644
+--- a/cmake/FindCLucene1.cmake
++++ b/cmake/FindCLucene1.cmake
+@@ -1,3 +1,21 @@
++# This file is part of Strigi Desktop Search
++#
++# Copyright (C) 2007 Jos van den Oever <jos@vandenoever.info>
++#
++# This library is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Library General Public
++# License as published by the Free Software Foundation; either
++# version 2 of the License, or (at your option) any later version.
++#
++# This library is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Library General Public License for more details.
++#
++# You should have received a copy of the GNU Library General Public License
++# along with this library; see the file COPYING.LIB. If not, write to
++# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++# Boston, MA 02110-1301, USA.
+ #
+ # This module looks for clucene (http://clucene.sf.net) support
+ # It will define the pkgconfig values with a CLUCENE1_ prefix...
+diff --git a/cmake/FindExiv2.cmake b/cmake/FindExiv2.cmake
+index 5997c98..7ddb6ac 100644
+--- a/cmake/FindExiv2.cmake
++++ b/cmake/FindExiv2.cmake
+@@ -13,7 +13,7 @@
+ # The minimum required version of Exiv2 can be specified using the
+ # standard syntax, e.g. find_package(Exiv2 0.17)
+ #
+-# For compatiblity, also the variable EXIV2_MIN_VERSION can be set to the minimum version
++# For compatibility, also the variable EXIV2_MIN_VERSION can be set to the minimum version
+ # you need before doing FIND_PACKAGE(Exiv2). The default is 0.12.
+
+ # Copyright (c) 2010, Alexander Neundorf, <neundorf@kde.org>
+diff --git a/cmake/FindFFmpeg.cmake b/cmake/FindFFmpeg.cmake
+index 526be5f..4e1d50e 100644
+--- a/cmake/FindFFmpeg.cmake
++++ b/cmake/FindFFmpeg.cmake
+@@ -7,7 +7,7 @@
+ # FFMPEG_LIBRARIES - Link these to use the required ffmpeg components.
+ # FFMPEG_DEFINITIONS - Compiler switches required for using the required ffmpeg components.
+ #
+-# For each of the components it will additionaly set.
++# For each of the components it will additionally set.
+ # - AVCODEC
+ # - AVDEVICE
+ # - AVFORMAT
+diff --git a/cmake/FindIconv.cmake b/cmake/FindIconv.cmake
+index ce40ab2..fd5a3af 100644
+--- a/cmake/FindIconv.cmake
++++ b/cmake/FindIconv.cmake
+@@ -1,3 +1,22 @@
++# This file is part of Strigi Desktop Search
++#
++# Copyright (C) 2006 Jos van den Oever <jos@vandenoever.info>
++#
++# This library is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Library General Public
++# License as published by the Free Software Foundation; either
++# version 2 of the License, or (at your option) any later version.
++#
++# This library is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Library General Public License for more details.
++#
++# You should have received a copy of the GNU Library General Public License
++# along with this library; see the file COPYING.LIB. If not, write to
++# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++# Boston, MA 02110-1301, USA.
++
+ # - Try to find Iconv
+ # Once done this will define
+ #
+diff --git a/cmake/FindXAttr.cmake b/cmake/FindXAttr.cmake
+index c285a46..c66884e 100644
+--- a/cmake/FindXAttr.cmake
++++ b/cmake/FindXAttr.cmake
+@@ -1,3 +1,22 @@
++# This file is part of Strigi Desktop Search
++#
++# Copyright (C) 2007 Jos van den Oever <jos@vandenoever.info>
++#
++# This library is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Library General Public
++# License as published by the Free Software Foundation; either
++# version 2 of the License, or (at your option) any later version.
++#
++# This library is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Library General Public License for more details.
++#
++# You should have received a copy of the GNU Library General Public License
++# along with this library; see the file COPYING.LIB. If not, write to
++# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++# Boston, MA 02110-1301, USA.
++
+ # - Try to find the xattr header
+ # Once done this will define
+ #
+diff --git a/include/strigi/classproperties.h b/include/strigi/classproperties.h
+index 0a8d5d5..688bc6a 100644
+--- a/include/strigi/classproperties.h
++++ b/include/strigi/classproperties.h
+@@ -39,8 +39,8 @@ public:
+ };
+ ClassProperties();
+ ClassProperties(const ClassProperties&);
+- ClassProperties(const Private&);
+- ClassProperties(const std::string& key);
++ explicit ClassProperties(const Private&);
++ explicit ClassProperties(const std::string& key);
+ ~ClassProperties();
+ const ClassProperties& operator=(const ClassProperties&);
+ bool valid() const;
+diff --git a/include/strigi/fieldproperties.h b/include/strigi/fieldproperties.h
+index dc53703..f1a9f77 100644
+--- a/include/strigi/fieldproperties.h
++++ b/include/strigi/fieldproperties.h
+@@ -39,8 +39,8 @@ public:
+ };
+ FieldProperties();
+ FieldProperties(const FieldProperties&);
+- FieldProperties(const Private&);
+- FieldProperties(const std::string& key);
++ explicit FieldProperties(const Private&);
++ explicit FieldProperties(const std::string& key);
+ ~FieldProperties();
+ const FieldProperties& operator=(const FieldProperties&);
+ /**
+diff --git a/include/strigi/fieldtypes.h b/include/strigi/fieldtypes.h
+index e369ad4..8bc9669 100644
+--- a/include/strigi/fieldtypes.h
++++ b/include/strigi/fieldtypes.h
+@@ -69,7 +69,7 @@ private:
+ * @param fieldname a (unique) name for what this field represents
+ * the same name should be used in .fieldproperties files in [] brackets
+ */
+- RegisteredField(const std::string& key);
++ explicit RegisteredField(const std::string& key);
+ public:
+ /**
+ * @brief Get the key for this field.
+@@ -101,7 +101,7 @@ public:
+ * primitive type, an array or an object of some
+ * description.
+ *
+- * It is up the the caller to keep track of the type of
++ * It is up the caller to keep track of the type of
+ * the data that is pointed to. The RegisteredField does
+ * not take ownership of the data, and it the caller's
+ * responsibility to ensure that any data allocated with
+diff --git a/include/strigi/filelister.h b/include/strigi/filelister.h
+index 5fe7f3e..ab1b6ef 100644
+--- a/include/strigi/filelister.h
++++ b/include/strigi/filelister.h
+@@ -50,7 +50,7 @@ private:
+ class Private;
+ Private* p;
+ public:
+- FileLister(const Strigi::AnalyzerConfiguration* ic=0);
++ explicit FileLister(const Strigi::AnalyzerConfiguration* ic=0);
+ ~FileLister();
+
+ void startListing(const std::string& dir);
+@@ -76,7 +76,7 @@ private:
+ class Private;
+ Private* p;
+ public:
+- DirLister(const Strigi::AnalyzerConfiguration* ic=0);
++ explicit DirLister(const Strigi::AnalyzerConfiguration* ic=0);
+ ~DirLister();
+
+ void startListing(const std::string& dir);
+diff --git a/include/strigi/streamanalyzer.h b/include/strigi/streamanalyzer.h
+index 4074463..5a5ed0e 100644
+--- a/include/strigi/streamanalyzer.h
++++ b/include/strigi/streamanalyzer.h
+@@ -50,7 +50,7 @@ private:
+ StreamAnalyzerPrivate* const p;
+
+ public:
+- StreamAnalyzer(AnalyzerConfiguration& c);
++ explicit StreamAnalyzer(AnalyzerConfiguration& c);
+ ~StreamAnalyzer();
+ void setIndexWriter(IndexWriter& writer);
+ signed char indexFile(const char *filepath);
+diff --git a/include/strigi/variant.h b/include/strigi/variant.h
+index f81b604..bb2ccab 100644
+--- a/include/strigi/variant.h
++++ b/include/strigi/variant.h
+@@ -40,13 +40,13 @@ private:
+ VariantPrivate* const p;
+ public:
+ Variant();
+- Variant(bool v);
+- Variant(int32_t v);
+- Variant(uint32_t v);
+- Variant(const char* v);
+- Variant(const std::string& v);
+- Variant(const std::vector<std::string>& v);
+- Variant(const std::vector<std::vector<std::string> >& v);
++ explicit Variant(bool v);
++ explicit Variant(int32_t v);
++ explicit Variant(uint32_t v);
++ explicit Variant(const char* v);
++ explicit Variant(const std::string& v);
++ explicit Variant(const std::vector<std::string>& v);
++ explicit Variant(const std::vector<std::vector<std::string> >& v);
+ Variant(const Variant& v);
+ ~Variant();
+ Type type() const;
+diff --git a/lib/endanalyzers/arendanalyzer.h b/lib/endanalyzers/arendanalyzer.h
+index 801964d..0a12f84 100644
+--- a/lib/endanalyzers/arendanalyzer.h
++++ b/lib/endanalyzers/arendanalyzer.h
+@@ -28,7 +28,7 @@ class ArEndAnalyzer : public Strigi::StreamEndAnalyzer {
+ private:
+ const ArEndAnalyzerFactory* factory;
+ public:
+- ArEndAnalyzer(const ArEndAnalyzerFactory* f)
++ explicit ArEndAnalyzer(const ArEndAnalyzerFactory* f)
+ :factory(f) {}
+
+ bool checkHeader(const char* header, int32_t headersize) const;
+diff --git a/lib/endanalyzers/bmpendanalyzer.h b/lib/endanalyzers/bmpendanalyzer.h
+index c829a5c..38e1109 100644
+--- a/lib/endanalyzers/bmpendanalyzer.h
++++ b/lib/endanalyzers/bmpendanalyzer.h
+@@ -28,7 +28,7 @@ class BmpEndAnalyzer : public Strigi::StreamEndAnalyzer {
+ private:
+ const BmpEndAnalyzerFactory* factory;
+ public:
+- BmpEndAnalyzer(const BmpEndAnalyzerFactory* f) :factory(f) {}
++ explicit BmpEndAnalyzer(const BmpEndAnalyzerFactory* f) :factory(f) {}
+ bool checkHeader(const char* header, int32_t headersize) const;
+ signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
+ const char* name() const { return "BmpEndAnalyzer"; }
+diff --git a/lib/endanalyzers/bz2endanalyzer.h b/lib/endanalyzers/bz2endanalyzer.h
+index e88c158..e7266b2 100644
+--- a/lib/endanalyzers/bz2endanalyzer.h
++++ b/lib/endanalyzers/bz2endanalyzer.h
+@@ -28,7 +28,7 @@ class Bz2EndAnalyzer : public Strigi::StreamEndAnalyzer {
+ private:
+ const Bz2EndAnalyzerFactory* factory;
+ public:
+- Bz2EndAnalyzer(const Bz2EndAnalyzerFactory* f)
++ explicit Bz2EndAnalyzer(const Bz2EndAnalyzerFactory* f)
+ :factory(f) {}
+
+ bool checkHeader(const char* header, int32_t headersize) const;
+diff --git a/lib/endanalyzers/flacendanalyzer.h b/lib/endanalyzers/flacendanalyzer.h
+index 535940e..f1bcf1f 100644
+--- a/lib/endanalyzers/flacendanalyzer.h
++++ b/lib/endanalyzers/flacendanalyzer.h
+@@ -33,7 +33,7 @@ class FlacEndAnalyzer : public Strigi::StreamEndAnalyzer {
+ private:
+ const FlacEndAnalyzerFactory* factory;
+ public:
+- FlacEndAnalyzer(const FlacEndAnalyzerFactory* f) :factory(f) {}
++ explicit FlacEndAnalyzer(const FlacEndAnalyzerFactory* f) :factory(f) {}
+ bool checkHeader(const char* header, int32_t headersize) const;
+ signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
+ const char* name() const { return "FlacEndAnalyzer"; }
+diff --git a/lib/endanalyzers/gzipendanalyzer.h b/lib/endanalyzers/gzipendanalyzer.h
+index 51b9008..2793721 100644
+--- a/lib/endanalyzers/gzipendanalyzer.h
++++ b/lib/endanalyzers/gzipendanalyzer.h
+@@ -28,7 +28,7 @@ class GZipEndAnalyzer : public Strigi::StreamEndAnalyzer {
+ private:
+ const GZipEndAnalyzerFactory* factory;
+ public:
+- GZipEndAnalyzer(const GZipEndAnalyzerFactory* f)
++ explicit GZipEndAnalyzer(const GZipEndAnalyzerFactory* f)
+ :factory(f) {}
+
+ bool checkHeader(const char* header, int32_t headersize) const;
+diff --git a/lib/endanalyzers/id3endanalyzer.cpp b/lib/endanalyzers/id3endanalyzer.cpp
+index a453a39..c500715 100644
+--- a/lib/endanalyzers/id3endanalyzer.cpp
++++ b/lib/endanalyzers/id3endanalyzer.cpp
+@@ -342,7 +342,7 @@ ID3EndAnalyzer::checkHeader(const char* header, int32_t headersize) const {
+ const unsigned char* usbuf = (const unsigned char*)header;
+ int32_t i;
+
+- for(i=0; (header[i] == '\0') && (i<headersize); i++);
++ for(i=0; (header[i] == '\0') && (i<headersize); ++i);
+ return (headersize>=6+i)
+ && (
+ (strncmp("ID3", header+i, 3) == 0 // check that it's ID3
+@@ -411,7 +411,7 @@ class genre_number_parser {
+ parse_string(genre);
+ }
+ /**
+- * wether or not parsing was successful
++ * whether or not parsing was successful
+ */
+ operator bool() {
+ return success;
+@@ -480,7 +480,7 @@ ID3EndAnalyzer::analyze(Strigi::AnalysisResult& indexable, Strigi::InputStream*
+ string deunsyncbuf;
+ if (unsync) {
+ deunsyncbuf.reserve(size-1);
+- for(int32_t i = 0; i<size-1; i++)
++ for(int32_t i = 0; i<size-1; ++i)
+ if ( (i==0) || (p[11+i]!=0) || (p[10+i]!=0xff) )
+ deunsyncbuf.push_back(p[11+i]);
+ decoded_value = deunsyncbuf.c_str();
+diff --git a/lib/endanalyzers/id3endanalyzer.h b/lib/endanalyzers/id3endanalyzer.h
+index 293c993..337dcfd 100644
+--- a/lib/endanalyzers/id3endanalyzer.h
++++ b/lib/endanalyzers/id3endanalyzer.h
+@@ -30,7 +30,7 @@ class ID3EndAnalyzer : public Strigi::StreamEndAnalyzer {
+ private:
+ const ID3EndAnalyzerFactory* factory;
+ public:
+- ID3EndAnalyzer(const ID3EndAnalyzerFactory* f) :factory(f) {}
++ explicit ID3EndAnalyzer(const ID3EndAnalyzerFactory* f) :factory(f) {}
+ bool checkHeader(const char* header, int32_t headersize) const;
+ signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
+ const char* name() const { return "ID3EndAnalyzer"; }
+diff --git a/lib/endanalyzers/lzmaendanalyzer.h b/lib/endanalyzers/lzmaendanalyzer.h
+index cad65aa..7fb118a 100644
+--- a/lib/endanalyzers/lzmaendanalyzer.h
++++ b/lib/endanalyzers/lzmaendanalyzer.h
+@@ -28,7 +28,7 @@ class LzmaEndAnalyzer : public Strigi::StreamEndAnalyzer {
+ private:
+ const LzmaEndAnalyzerFactory* factory;
+ public:
+- LzmaEndAnalyzer(const LzmaEndAnalyzerFactory* f)
++ explicit LzmaEndAnalyzer(const LzmaEndAnalyzerFactory* f)
+ :factory(f) {}
+
+ bool checkHeader(const char* header, int32_t headersize) const;
+diff --git a/lib/endanalyzers/mailendanalyzer.h b/lib/endanalyzers/mailendanalyzer.h
+index 4c7d391..8d77420 100644
+--- a/lib/endanalyzers/mailendanalyzer.h
++++ b/lib/endanalyzers/mailendanalyzer.h
+@@ -28,7 +28,7 @@ class MailEndAnalyzer : public Strigi::StreamEndAnalyzer {
+ private:
+ const MailEndAnalyzerFactory* factory;
+ public:
+- MailEndAnalyzer(const MailEndAnalyzerFactory* f) :factory(f) {}
++ explicit MailEndAnalyzer(const MailEndAnalyzerFactory* f) :factory(f) {}
+ bool checkHeader(const char* header, int32_t headersize) const;
+ signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
+ const char* name() const { return "MailEndAnalyzer"; }
+diff --git a/lib/endanalyzers/mpegendanalyzer.h b/lib/endanalyzers/mpegendanalyzer.h
+index 42b65e9..1d0a2f2 100644
+--- a/lib/endanalyzers/mpegendanalyzer.h
++++ b/lib/endanalyzers/mpegendanalyzer.h
+@@ -58,7 +58,7 @@ private:
+
+
+ public:
+- MpegEndAnalyzer(const MpegEndAnalyzerFactory* f) :factory(f)
++ explicit MpegEndAnalyzer(const MpegEndAnalyzerFactory* f) :factory(f)
+ {
+ this->frame_rate_table[0] = 0.0; /* Pad */
+ //Official frame rates
+diff --git a/lib/endanalyzers/odfendanalyzer.h b/lib/endanalyzers/odfendanalyzer.h
+index f426c25..8da3137 100644
+--- a/lib/endanalyzers/odfendanalyzer.h
++++ b/lib/endanalyzers/odfendanalyzer.h
+@@ -36,7 +36,7 @@ public:
+ Strigi::OdfMetaHelperAnalyzer metaHelper;
+ Strigi::OdfContentHelperAnalyzer contentHelper;
+
+- OdfEndAnalyzer(const OdfEndAnalyzerFactory* f) :factory(f){};
++ explicit OdfEndAnalyzer(const OdfEndAnalyzerFactory* f) :factory(f){};
+ bool checkHeader(const char* header, int32_t headersize) const;
+ signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
+ const char* name() const { return "OdfEndAnalyzer"; }
+diff --git a/lib/endanalyzers/oleendanalyzer.h b/lib/endanalyzers/oleendanalyzer.h
+index df89ce4..b94bc40 100644
+--- a/lib/endanalyzers/oleendanalyzer.h
++++ b/lib/endanalyzers/oleendanalyzer.h
+@@ -64,7 +64,7 @@ private:
+ std::string getStreamString(Strigi::InputStream*) const;
+ bool tryFIB(Strigi::AnalysisResult& ar, Strigi::InputStream* in);
+ public:
+- OleEndAnalyzer(const OleEndAnalyzerFactory* const f) :factory(f) {}
++ explicit OleEndAnalyzer(const OleEndAnalyzerFactory* const f) :factory(f) {}
+ bool checkHeader(const char* header, int32_t headersize) const;
+ bool tryPropertyStream(Strigi::AnalysisResult& idx, Strigi::InputStream* s);
+ signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
+diff --git a/lib/endanalyzers/pdfendanalyzer.h b/lib/endanalyzers/pdfendanalyzer.h
+index b157bdb..c72fc71 100644
+--- a/lib/endanalyzers/pdfendanalyzer.h
++++ b/lib/endanalyzers/pdfendanalyzer.h
+@@ -40,7 +40,7 @@ private:
+ Strigi::StreamStatus handle(Strigi::InputStream* s);
+ Strigi::StreamStatus handle(const std::string& s);
+ public:
+- PdfEndAnalyzer(const PdfEndAnalyzerFactory* f);
++ explicit PdfEndAnalyzer(const PdfEndAnalyzerFactory* f);
+ };
+
+ class PdfEndAnalyzerFactory : public Strigi::StreamEndAnalyzerFactory {
+diff --git a/lib/endanalyzers/pngendanalyzer.h b/lib/endanalyzers/pngendanalyzer.h
+index 9144758..066aaac 100644
+--- a/lib/endanalyzers/pngendanalyzer.h
++++ b/lib/endanalyzers/pngendanalyzer.h
+@@ -42,7 +42,7 @@ private:
+ signed char addMetaData(const std::string& key, Strigi::AnalysisResult& as,
+ Strigi::InputStream* in);
+ public:
+- PngEndAnalyzer(const PngEndAnalyzerFactory* f);
++ explicit PngEndAnalyzer(const PngEndAnalyzerFactory* f);
+ };
+
+ class PngEndAnalyzerFactory : public Strigi::StreamEndAnalyzerFactory {
+diff --git a/lib/endanalyzers/rpmendanalyzer.h b/lib/endanalyzers/rpmendanalyzer.h
+index fdaf0f4..b5ccbd6 100644
+--- a/lib/endanalyzers/rpmendanalyzer.h
++++ b/lib/endanalyzers/rpmendanalyzer.h
+@@ -28,7 +28,7 @@ class RpmEndAnalyzer : public Strigi::StreamEndAnalyzer {
+ private:
+ const RpmEndAnalyzerFactory* factory;
+ public:
+- RpmEndAnalyzer(const RpmEndAnalyzerFactory* f)
++ explicit RpmEndAnalyzer(const RpmEndAnalyzerFactory* f)
+ :factory(f) {}
+
+ bool checkHeader(const char* header, int32_t headersize) const;
+diff --git a/lib/endanalyzers/sdfendanalyzer.h b/lib/endanalyzers/sdfendanalyzer.h
+index f6ab67f..56b1d77 100644
+--- a/lib/endanalyzers/sdfendanalyzer.h
++++ b/lib/endanalyzers/sdfendanalyzer.h
+@@ -29,7 +29,7 @@ class SdfEndAnalyzer : public Strigi::StreamEndAnalyzer {
+ private:
+ const SdfEndAnalyzerFactory* factory;
+ public:
+- SdfEndAnalyzer(const SdfEndAnalyzerFactory* f) :factory(f) {}
++ explicit SdfEndAnalyzer(const SdfEndAnalyzerFactory* f) :factory(f) {}
+ bool checkHeader(const char* header, int32_t headersize) const;
+ signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
+ const char* name() const { return "SdfEndAnalyzer"; }
+diff --git a/lib/endanalyzers/tarendanalyzer.h b/lib/endanalyzers/tarendanalyzer.h
+index 875d560..28bedf0 100644
+--- a/lib/endanalyzers/tarendanalyzer.h
++++ b/lib/endanalyzers/tarendanalyzer.h
+@@ -28,7 +28,7 @@ class TarEndAnalyzer : public Strigi::StreamEndAnalyzer {
+ private:
+ const TarEndAnalyzerFactory* factory;
+ public:
+- TarEndAnalyzer(const TarEndAnalyzerFactory* f)
++ explicit TarEndAnalyzer(const TarEndAnalyzerFactory* f)
+ :factory(f) {}
+
+ bool checkHeader(const char* header, int32_t headersize) const;
+diff --git a/lib/endanalyzers/zipendanalyzer.h b/lib/endanalyzers/zipendanalyzer.h
+index 3d87217..653645d 100644
+--- a/lib/endanalyzers/zipendanalyzer.h
++++ b/lib/endanalyzers/zipendanalyzer.h
+@@ -28,7 +28,7 @@ class ZipEndAnalyzer : public Strigi::StreamEndAnalyzer {
+ public:
+ const ZipEndAnalyzerFactory* const factory;
+
+- ZipEndAnalyzer(const ZipEndAnalyzerFactory* f) :factory(f) {}
++ explicit ZipEndAnalyzer(const ZipEndAnalyzerFactory* f) :factory(f) {}
+ bool checkHeader(const char* header, int32_t headersize) const;
+ signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
+ const char* name() const { return "ZipEndAnalyzer"; }
+diff --git a/lib/eventanalyzers/mimeeventanalyzer.h b/lib/eventanalyzers/mimeeventanalyzer.h
+index d0d2506..fd28b7b 100644
+--- a/lib/eventanalyzers/mimeeventanalyzer.h
++++ b/lib/eventanalyzers/mimeeventanalyzer.h
+@@ -39,7 +39,7 @@ private:
+ void handleData(const char* data, uint32_t length);
+ bool isReadyWithStream();
+ public:
+- MimeEventAnalyzer(const MimeEventAnalyzerFactory*);
++ explicit MimeEventAnalyzer(const MimeEventAnalyzerFactory*);
+ ~MimeEventAnalyzer();
+ };
+
+diff --git a/lib/eventthroughanalyzer.h b/lib/eventthroughanalyzer.h
+index 1b45312..b866402 100644
+--- a/lib/eventthroughanalyzer.h
++++ b/lib/eventthroughanalyzer.h
+@@ -50,7 +50,7 @@ private:
+ void handleEnd();
+ const char* name() const { return "EventThroughAnalyzer"; }
+ public:
+- EventThroughAnalyzer(std::vector<StreamEventAnalyzer*>& e)
++ explicit EventThroughAnalyzer(std::vector<StreamEventAnalyzer*>& e)
+ : event(e), datastream(0), result(0), ready(true){}
+ ~EventThroughAnalyzer();
+ };
+diff --git a/lib/fieldpropertiesdb.cpp b/lib/fieldpropertiesdb.cpp
+index 79264ce..07d5204 100644
+--- a/lib/fieldpropertiesdb.cpp
++++ b/lib/fieldpropertiesdb.cpp
+@@ -291,30 +291,30 @@ FieldPropertiesDb::Private::addEssentialProperties() {
+
+ props.typeuri = FieldRegister::datetimeType;
+ props.uri = FieldRegister::mtimeFieldName;
+- properties[FieldRegister::mtimeFieldName] = props;
++ properties[FieldRegister::mtimeFieldName] = FieldProperties(props);
+
+ props.typeuri = FieldRegister::integerType;
+ props.uri = FieldRegister::sizeFieldName;
+- properties[FieldRegister::sizeFieldName] = props;
++ properties[FieldRegister::sizeFieldName] = FieldProperties(props);
+
+ props.uri = FieldRegister::embeddepthFieldName;
+- properties[FieldRegister::embeddepthFieldName] = props;
++ properties[FieldRegister::embeddepthFieldName] = FieldProperties(props);
+
+ props.typeuri = FieldRegister::stringType;
+ props.uri = FieldRegister::pathFieldName;
+ props.tokenized = false; // should not be tokenized: needed for retrieval
+- properties[FieldRegister::pathFieldName] = props;
++ properties[FieldRegister::pathFieldName] = FieldProperties(props);
+
+ props.uri = FieldRegister::filenameFieldName;
+ props.tokenized = true;
+- properties[FieldRegister::filenameFieldName] = props;
++ properties[FieldRegister::filenameFieldName] = FieldProperties(props);
+
+ props.uri = FieldRegister::mimetypeFieldName;
+- properties[FieldRegister::mimetypeFieldName] = props;
++ properties[FieldRegister::mimetypeFieldName] = FieldProperties(props);
+
+ props.uri = FieldRegister::parentLocationFieldName;
+ props.tokenized = false; // should not be tokenized: needed for retrieval
+- properties[FieldRegister::parentLocationFieldName] = props;
++ properties[FieldRegister::parentLocationFieldName] = FieldProperties(props);
+ }
+ void
+ FieldPropertiesDb::Private::loadProperties(const string& dir) {
+@@ -751,7 +751,7 @@ FieldPropertiesDb::Private::endElementNsSAX2Func(void *ctx,
+ void
+ FieldPropertiesDb::Private::storeProperties(FieldProperties::Private& p) {
+ if (p.uri.size()) {
+- properties[p.uri] = p;
++ properties[p.uri] = FieldProperties(p);
+ }
+ p.clear();
+ }
+@@ -773,14 +773,14 @@ FieldPropertiesDb::addField(const std::string& key, const std::string& type,
+ if (parent.size()) {
+ props.parentUris.push_back(parent);
+ }
+- p->properties[key] = props;
++ p->properties[key] = FieldProperties(props);
+ }
+ void
+ FieldPropertiesDb::addField(const std::string& key) {
+ FieldProperties::Private props;
+ props.uri = key;
+ props.typeuri = FieldRegister::stringType;
+- p->properties[key] = props;
++ p->properties[key] = FieldProperties(props);
+ }
+ void
+ FieldProperties::Private::clear() {
+diff --git a/lib/helperanalyzers/odfcontenthelperanalyzer.cpp b/lib/helperanalyzers/odfcontenthelperanalyzer.cpp
+index d2a0a72..df3352a 100644
+--- a/lib/helperanalyzers/odfcontenthelperanalyzer.cpp
++++ b/lib/helperanalyzers/odfcontenthelperanalyzer.cpp
+@@ -25,7 +25,6 @@
+ #include <cstring>
+ #include <string>
+
+-#include <strigi/analysisresult.h>
+ #include <strigi/fieldtypes.h>
+ #include "../rdfnamespaces.h"
+
+diff --git a/lib/helperanalyzers/odfmetahelperanalyzer.cpp b/lib/helperanalyzers/odfmetahelperanalyzer.cpp
+index 3409707..6b53be0 100644
+--- a/lib/helperanalyzers/odfmetahelperanalyzer.cpp
++++ b/lib/helperanalyzers/odfmetahelperanalyzer.cpp
+@@ -27,7 +27,6 @@
+ #include <string>
+ #include <iostream>
+
+-#include <strigi/analysisresult.h>
+ #include <strigi/fieldtypes.h>
+ #include "../rdfnamespaces.h"
+
+diff --git a/lib/libstreamanalyzer.pc.cmake b/lib/libstreamanalyzer.pc.cmake
+index bd13339..38c0ccb 100644
+--- a/lib/libstreamanalyzer.pc.cmake
++++ b/lib/libstreamanalyzer.pc.cmake
+@@ -1,3 +1,22 @@
++# This file is part of Strigi Desktop Search
++#
++# Copyright (C) 2007 Jos van den Oever <jos@vandenoever.info>
++#
++# This library is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Library General Public
++# License as published by the Free Software Foundation; either
++# version 2 of the License, or (at your option) any later version.
++#
++# This library is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Library General Public License for more details.
++#
++# You should have received a copy of the GNU Library General Public License
++# along with this library; see the file COPYING.LIB. If not, write to
++# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++# Boston, MA 02110-1301, USA.
++
+ prefix=${CMAKE_INSTALL_PREFIX}
+ exec_prefix=${CMAKE_INSTALL_PREFIX}/bin
+ libdir=${LIB_DESTINATION}
+diff --git a/lib/lineanalyzers/m3ustreamanalyzer.h b/lib/lineanalyzers/m3ustreamanalyzer.h
+index 9033f14..d3fe71d 100644
+--- a/lib/lineanalyzers/m3ustreamanalyzer.h
++++ b/lib/lineanalyzers/m3ustreamanalyzer.h
+@@ -42,7 +42,7 @@ private:
+ std::string constructAbsolutePath(const std::string& relative) const;
+
+ public:
+- M3uLineAnalyzer(const M3uLineAnalyzerFactory* f) : factory(f) {}
++ explicit M3uLineAnalyzer(const M3uLineAnalyzerFactory* f) : factory(f) {}
+ ~M3uLineAnalyzer() {}
+
+ const char* name() const {
+diff --git a/lib/lineanalyzers/odfmimetypelineanalyzer.h b/lib/lineanalyzers/odfmimetypelineanalyzer.h
+index c53aa19..0bb81aa 100644
+--- a/lib/lineanalyzers/odfmimetypelineanalyzer.h
++++ b/lib/lineanalyzers/odfmimetypelineanalyzer.h
+@@ -40,7 +40,7 @@ public:
+
+ class OdfMimeTypeLineAnalyzer : public Strigi::StreamLineAnalyzer {
+ public:
+- OdfMimeTypeLineAnalyzer(const OdfMimeTypeLineAnalyzerFactory *factory);
++ explicit OdfMimeTypeLineAnalyzer(const OdfMimeTypeLineAnalyzerFactory *factory);
+
+ const char* name() const {
+ return "OdfMimeTypeLineAnalyzer";
+diff --git a/lib/lineeventanalyzer.h b/lib/lineeventanalyzer.h
+index 5c67eac..ccd9043 100644
+--- a/lib/lineeventanalyzer.h
++++ b/lib/lineeventanalyzer.h
+@@ -57,7 +57,7 @@ private:
+ void emitData(const char* data, uint32_t length);
+ void initEncoding(std::string encoding);
+ public:
+- LineEventAnalyzer(std::vector<StreamLineAnalyzer*>&s);
++ explicit LineEventAnalyzer(std::vector<StreamLineAnalyzer*>&s);
+ ~LineEventAnalyzer();
+ };
+
+diff --git a/lib/logging.h b/lib/logging.h
+index 8a42795..c9e34c6 100644
+--- a/lib/logging.h
++++ b/lib/logging.h
+@@ -44,4 +44,4 @@
+ #define slog(x) (void)
+ #endif
+
+-#endif
+\ No newline at end of file
++#endif
+diff --git a/lib/rdfnamespaces.h b/lib/rdfnamespaces.h
+index 9aad41d..aa35714 100644
+--- a/lib/rdfnamespaces.h
++++ b/lib/rdfnamespaces.h
+@@ -18,8 +18,8 @@
+ * Boston, MA 02110-1301, USA.
+ */
+
+-#ifndef RDFNAMESAPCES
+-#define RDFNAMESPACES
++#ifndef RDFNAMESPACES_H
++#define RDFNAMESPACES_H
+
+ // This is a list of the most often encountered rdf namespaces used by analyzers
+ // For internal use ONLY and should not be installed
+diff --git a/lib/saxeventanalyzer.h b/lib/saxeventanalyzer.h
+index 3bb9101..b5eec45 100644
+--- a/lib/saxeventanalyzer.h
++++ b/lib/saxeventanalyzer.h
+@@ -40,7 +40,7 @@ private:
+ void handleData(const char* data, uint32_t length);
+ bool isReadyWithStream();
+ public:
+- SaxEventAnalyzer(std::vector<StreamSaxAnalyzer*>&s);
++ explicit SaxEventAnalyzer(std::vector<StreamSaxAnalyzer*>&s);
+ ~SaxEventAnalyzer();
+ };
+
+diff --git a/lib/throughanalyzers/oggthroughanalyzer.h b/lib/throughanalyzers/oggthroughanalyzer.h
+index c28853a..c3530a1 100644
+--- a/lib/throughanalyzers/oggthroughanalyzer.h
++++ b/lib/throughanalyzers/oggthroughanalyzer.h
+@@ -35,7 +35,7 @@ private:
+ Strigi::AnalysisResult* indexable;
+ const OggThroughAnalyzerFactory* factory;
+ public:
+- OggThroughAnalyzer(const OggThroughAnalyzerFactory* f) :factory(f) {}
++ explicit OggThroughAnalyzer(const OggThroughAnalyzerFactory* f) :factory(f) {}
+ ~OggThroughAnalyzer() {}
+ void setIndexable(Strigi::AnalysisResult*);
+ Strigi::InputStream *connectInputStream(Strigi::InputStream *in);
+diff --git a/lib/xmlparser/xmlstream.h b/lib/xmlparser/xmlstream.h
+index 083e55e..6b48eb5 100644
+--- a/lib/xmlparser/xmlstream.h
++++ b/lib/xmlparser/xmlstream.h
+@@ -35,7 +35,7 @@ private:
+ class Private;
+ Private* p;
+ public:
+- XMLStream(const std::string& xml);
++ explicit XMLStream(const std::string& xml);
+ ~XMLStream();
+ void setFromAttribute(bool&, const char*);
+ void setFromAttribute(int&, const char*);
+@@ -82,7 +82,7 @@ public:
+ std::list<SimpleNode> nodes;
+ std::string text;
+
+- SimpleNode(const std::string& xml);
++ explicit SimpleNode(const std::string& xml);
+ };
+
+
+diff --git a/plugins/endplugins/ffmpegendanalyzer.cpp b/plugins/endplugins/ffmpegendanalyzer.cpp
+index 25e2a9a..f219912 100644
+--- a/plugins/endplugins/ffmpegendanalyzer.cpp
++++ b/plugins/endplugins/ffmpegendanalyzer.cpp
+@@ -377,7 +377,7 @@ FFMPEGEndAnalyzer::analyze(AnalysisResult& ar, ::InputStream* in) {
+ ar.addValue(factory->typeProperty, NFO "Video");
+ }
+
+- for(uint32_t i=0; i<fc->nb_streams; i++) {
++ for(uint32_t i=0; i<fc->nb_streams; ++i) {
+ const AVStream &stream = *fc->streams[i];
+ const AVCodecContext &codec = *stream.codec;
+
+@@ -394,9 +394,9 @@ FFMPEGEndAnalyzer::analyze(AnalysisResult& ar, ::InputStream* in) {
+ }
+
+ #if (LIBAVUTIL_VERSION_MAJOR < 51)
+- //FIXME we must stop using the deprecated fuction av_metadata_get and use
++ //FIXME we must stop using the deprecated function 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.
++ // using version macros. same goes for all occurrences of this function.
+ AVMetadataTag *entry = av_metadata_get(stream.metadata, "language", NULL, 0);
+ #else
+ AVDictionaryEntry *entry = av_dict_get(stream.metadata, "language", NULL, 0);
+diff --git a/plugins/eventplugins/SHA1.h b/plugins/eventplugins/SHA1.h
+index 47c2558..d78bbfc 100644
+--- a/plugins/eventplugins/SHA1.h
++++ b/plugins/eventplugins/SHA1.h
+@@ -115,10 +115,7 @@
+ #define SHA1_WIPE_VARIABLES
+ #endif
+
+-#if defined(SHA1_HAS_TCHAR)
+-#include <tchar.h>
+-#else
+-#ifdef _MSC_VER
++#if defined(SHA1_HAS_TCHAR) || defined(_MSC_VER)
+ #include <tchar.h>
+ #else
+ #ifndef TCHAR
+@@ -136,7 +133,6 @@
+ #define _sntprintf snprintf
+ #endif
+ #endif
+-#endif
+
+ // Fallback, if no 64-bit support
+ #ifndef _fseeki64
+diff --git a/plugins/indexers/cluceneindexer/cluceneindexreader.cpp b/plugins/indexers/cluceneindexer/cluceneindexreader.cpp
+index 6e0ea36..17738b2 100644
+--- a/plugins/indexers/cluceneindexer/cluceneindexreader.cpp
++++ b/plugins/indexers/cluceneindexer/cluceneindexreader.cpp
+@@ -310,11 +310,11 @@ CLuceneIndexReader::Private::createSingleFieldQuery(const string& field,
+ q = _CLNEW TermQuery(t);
+ break;
+ case Strigi::Query::Contains:
+- t = createWildCardTerm(fieldname.c_str(), "*" + val + "*");
++ t = createWildCardTerm(fieldname.c_str(), '*' + val + '*');
+ q = _CLNEW WildcardQuery(t);
+ break;
+ case Strigi::Query::StartsWith:
+- t = createWildCardTerm(fieldname.c_str(), val + "*");
++ t = createWildCardTerm(fieldname.c_str(), val + '*');
+ q = _CLNEW WildcardQuery(t);
+ break;
+ case Strigi::Query::Equals:
+diff --git a/plugins/indexers/cluceneindexer/cluceneindexwriter.cpp b/plugins/indexers/cluceneindexer/cluceneindexwriter.cpp
+index 8658180..b340db3 100644
+--- a/plugins/indexers/cluceneindexer/cluceneindexwriter.cpp
++++ b/plugins/indexers/cluceneindexer/cluceneindexwriter.cpp
+@@ -270,7 +270,7 @@ CLuceneIndexWriter::deleteEntry(const string& entry,
+ }
+ {
+ // delete all deeper nested files
+- wstring v = utf8toucs2(entry+"/");
++ wstring v = utf8toucs2(entry + '/');
+ Term* t = _CLNEW Term(parentlocation(), v.c_str());
+ PrefixFilter* filter = _CLNEW PrefixFilter(t);
+ BitSet* b = filter->bits(reader);
+@@ -372,58 +372,6 @@ CLuceneIndexWriter::cleanUp() {
+ if (!locked) {
+ return;
+ }
+- /*
+- //this is a hack and will not work with new versions of the index..
+- //furthermore, segmentinfos is a private class.
+- lucene::index::SegmentInfos infos;
+- try {
+- //Have SegmentInfos read the segments file in directory
+- infos.read(directory);
+- } catch(...) {
+- lock->release();
+- return; //todo: this may suggest an error...
+- }
+- lock->release();
+-
+- int i;
+- set<string> segments;
+- for (i = 0; i < infos.size(); i++) {
+- lucene::index::SegmentInfo* info = infos.info(i);
+- segments.insert(info->name);
+- }
+-
+- char** files = directory->list();
+- char tmp[CL_MAX_PATH];
+- for (i = 0; files[i] != NULL; ++i) {
+- char* file = files[i];
+-
+- int fileLength = strlen(file);
+- if ( fileLength < 6 ) {
+- continue;
+- }
+-
+- if (strncmp(file,"segments", 8) == 0
+- || strncmp(file, "deletable", 9) == 0) {
+- continue;
+- }
+- if (!isLuceneFile(file)) {
+- continue;
+- }
+-
+- strcpy(tmp, file);
+- tmp[fileLength-4] = '\0';
+-
+- if (segments.find(tmp) != segments.end()) {
+- continue;
+- }
+-
+- directory->deleteFile(file, false);
+- }
+- for (i = 0; files[i] != NULL; i++) {
+- _CLDELETE_CaARRAY(files[i]);
+- }
+- _CLDELETE_ARRAY(files);
+- */
+ }
+
+ void
+diff --git a/plugins/indexers/cluceneindexer/jsgzipcompressstream.cpp b/plugins/indexers/cluceneindexer/jsgzipcompressstream.cpp
+index 2e428a2..d39505f 100644
+--- a/plugins/indexers/cluceneindexer/jsgzipcompressstream.cpp
++++ b/plugins/indexers/cluceneindexer/jsgzipcompressstream.cpp
+@@ -17,8 +17,8 @@
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+-#include <CLucene/StdHeader.h>
+ #include "jsgzipcompressstream.h"
++#include <CLucene/StdHeader.h>
+ #include <CLucene/util/jstreamsconfig.h>
+ #include <zlib.h>
+
+diff --git a/plugins/indexers/cluceneindexer/tests/CLuceneTest.cpp b/plugins/indexers/cluceneindexer/tests/CLuceneTest.cpp
+index 9b1ff75..836c653 100644
+--- a/plugins/indexers/cluceneindexer/tests/CLuceneTest.cpp
++++ b/plugins/indexers/cluceneindexer/tests/CLuceneTest.cpp
+@@ -1,3 +1,22 @@
++/* This file is part of Strigi Desktop Search
++ *
++ * Copyright (C) 2006 Jos van den Oever <jos@vandenoever.info>
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public License
++ * along with this library; see the file COPYING.LIB. If not, write to
++ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301, USA.
++ */
+ #include <strigi/strigiconfig.h>
+ #include "compat.h"
+ #include "indexpluginloader.h"
+diff --git a/plugins/indexers/cluceneindexer/timeofday.h b/plugins/indexers/cluceneindexer/timeofday.h
+index 7c8bb7e..97a8c41 100644
+--- a/plugins/indexers/cluceneindexer/timeofday.h
++++ b/plugins/indexers/cluceneindexer/timeofday.h
+@@ -1,22 +1,23 @@
+-/*
+-* Defines gettimeofday
+-*
+-* Based on timeval.h Copyright (c) by Wu Yongwei <wuyongwei@gmail.com>
+-*
+-* This library is free software; you can redistribute it and/or
+-* modify it under the terms of the GNU Lesser General Public
+-* License as published by the Free Software Foundation; either
+-* version 2.1 of the License, or (at your option) any later version.
+-*
+-* This library is distributed in the hope that it will be useful,
+-* but WITHOUT ANY WARRANTY; without even the implied warranty of
+-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+-* Lesser General Public License for more details.
+-*
+-* You should have received a copy of the GNU Lesser General Public
+-* License along with this library; if not, write to the Free Software
+-* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+-*/
++/**
++ * Defines gettimeofday
++ *
++ * Based on timeval.h Copyright (c) by Wu Yongwei <wuyongwei@gmail.com>
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2.1 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; see the file COPYING. If not, write to
++ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301, USA.
++ */
+
+ #include "config.h"
+ #include <errno.h>
+diff --git a/plugins/indexers/clucenengindexer/cluceneindexreader.cpp b/plugins/indexers/clucenengindexer/cluceneindexreader.cpp
+index 0274329..8e20847 100644
+--- a/plugins/indexers/clucenengindexer/cluceneindexreader.cpp
++++ b/plugins/indexers/clucenengindexer/cluceneindexreader.cpp
+@@ -476,8 +476,8 @@ CLuceneIndexReader::getDocuments(const std::vector<std::string>& fullFields,
+ doc.resize(fullFields.size());
+
+ const Document::FieldsType& fields = *d.getFields();
+- for ( Document::FieldsType::const_iterator itr = fields.begin();
+- itr != fields.end(); itr++ ) {
++ for (Document::FieldsType::const_iterator itr = fields.begin();
++ itr != fields.end(); ++itr) {
+ Field* field = *itr;
+ string name(wchartoutf8(field->name()));
+ for (uint j = 0; j < fullFields.size(); ++j) {
+@@ -546,8 +546,8 @@ CLuceneIndexReader::getHits(const Strigi::Query& q,
+ doc.resize(fields.size());
+
+ const Document::FieldsType fields = *d->getFields();
+- for ( Document::FieldsType::const_iterator itr = fields.begin();
+- itr != fields.end(); itr++ ) {
++ for (Document::FieldsType::const_iterator itr = fields.begin();
++ itr != fields.end(); ++itr) {
+ Field* field = *itr;
+
+ string name(wchartoutf8(field->name()));
+diff --git a/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp b/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp
+index 3ba6eeb..b0a9ff7 100644
+--- a/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp
++++ b/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp
+@@ -229,7 +229,7 @@ CLuceneIndexWriter::deleteEntry(const string& entry, lucene::index::IndexWriter*
+ }
+ {
+ // delete all deeper nested files
+- wstring v = utf8toucs2(entry+"/");
++ wstring v = utf8toucs2(entry + '/');
+ Term* t(_CLNEW Term(parentlocation(), v.c_str()));
+ PrefixFilter* filter = _CLNEW PrefixFilter(t);
+ BitSet* b = filter->bits(reader);
+@@ -248,7 +248,7 @@ void
+ CLuceneIndexWriter::deleteAllEntries() {
+ lucene::index::IndexReader* reader = manager->checkReader();
+ if ( reader != NULL ){
+- for ( int32_t i=0;i<reader->maxDoc();i++ ){
++ for ( int32_t i=0;i<reader->maxDoc(); ++i) {
+ reader->deleteDocument(i);
+ }
+ reader->flush();
+diff --git a/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp b/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp
+index e2b4e1c..5937d3c 100644
+--- a/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp
++++ b/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp
+@@ -48,9 +48,8 @@ t2a(const TCHAR* t) {
+ void
+ docdump(Document* doc) {
+ Document::FieldsType fields = doc->getFields();
+- for ( Document::FieldsType::iterator itr = fields.begin();
+- itr != fields.end();
+- itr++ ){
++ for (Document::FieldsType::iterator itr = fields.begin();
++ itr != fields.end(); ++itr) {
+ TCHAR* s = (*itr)->toString();
+ printf("%s\n", t2a(s).c_str());
+ _CLDELETE_CARRAY(s);
+diff --git a/plugins/indexers/clucenengindexer/tests/CLuceneTest.cpp b/plugins/indexers/clucenengindexer/tests/CLuceneTest.cpp
+index f5e1b7f..19d69b7 100644
+--- a/plugins/indexers/clucenengindexer/tests/CLuceneTest.cpp
++++ b/plugins/indexers/clucenengindexer/tests/CLuceneTest.cpp
+@@ -1,3 +1,22 @@
++/* This file is part of Strigi Desktop Search
++ *
++ * Copyright (C) 2006 Jos van den Oever <jos@vandenoever.info>
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public License
++ * along with this library; see the file COPYING.LIB. If not, write to
++ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301, USA.
++ */
+ #include <strigi/strigiconfig.h>
+ #include "indexpluginloader.h"
+ #include "indexmanager.h"
+diff --git a/plugins/indexers/clucenengindexer/timeofday.h b/plugins/indexers/clucenengindexer/timeofday.h
+index 7c8bb7e..97a8c41 100644
+--- a/plugins/indexers/clucenengindexer/timeofday.h
++++ b/plugins/indexers/clucenengindexer/timeofday.h
+@@ -1,22 +1,23 @@
+-/*
+-* Defines gettimeofday
+-*
+-* Based on timeval.h Copyright (c) by Wu Yongwei <wuyongwei@gmail.com>
+-*
+-* This library is free software; you can redistribute it and/or
+-* modify it under the terms of the GNU Lesser General Public
+-* License as published by the Free Software Foundation; either
+-* version 2.1 of the License, or (at your option) any later version.
+-*
+-* This library is distributed in the hope that it will be useful,
+-* but WITHOUT ANY WARRANTY; without even the implied warranty of
+-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+-* Lesser General Public License for more details.
+-*
+-* You should have received a copy of the GNU Lesser General Public
+-* License along with this library; if not, write to the Free Software
+-* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+-*/
++/**
++ * Defines gettimeofday
++ *
++ * Based on timeval.h Copyright (c) by Wu Yongwei <wuyongwei@gmail.com>
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2.1 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; see the file COPYING. If not, write to
++ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301, USA.
++ */
+
+ #include "config.h"
+ #include <errno.h>
+diff --git a/plugins/lineplugins/deblineanalyzer.h b/plugins/lineplugins/deblineanalyzer.h
+index 25b40b0..e2b3cd9 100644
+--- a/plugins/lineplugins/deblineanalyzer.h
++++ b/plugins/lineplugins/deblineanalyzer.h
+@@ -36,7 +36,7 @@ private:
+ unsigned int finished;
+ Strigi::AnalysisResult* result;
+ public:
+- DebLineAnalyzer(const DebLineAnalyzerFactory* f) : factory(f) {}
++ explicit DebLineAnalyzer(const DebLineAnalyzerFactory* f) : factory(f) {}
+ };
+
+ class DebLineAnalyzerFactory : public Strigi::StreamLineAnalyzerFactory {
+diff --git a/plugins/throughplugins/authroughanalyzer.h b/plugins/throughplugins/authroughanalyzer.h
+index 18ae6d6..75335d1 100644
+--- a/plugins/throughplugins/authroughanalyzer.h
++++ b/plugins/throughplugins/authroughanalyzer.h
+@@ -36,7 +36,7 @@ private:
+ Strigi::AnalysisResult* analysisResult;
+ const AuThroughAnalyzerFactory* factory;
+ public:
+- AuThroughAnalyzer(const AuThroughAnalyzerFactory* f) :factory(f) {}
++ explicit AuThroughAnalyzer(const AuThroughAnalyzerFactory* f) :factory(f) {}
+ ~AuThroughAnalyzer() {}
+ void setIndexable(Strigi::AnalysisResult* i);
+ Strigi::InputStream *connectInputStream(Strigi::InputStream *in);
+diff --git a/plugins/throughplugins/dummy.cpp b/plugins/throughplugins/dummy.cpp
+index 2bfadc3..73d9ffb 100644
+--- a/plugins/throughplugins/dummy.cpp
++++ b/plugins/throughplugins/dummy.cpp
+@@ -1,3 +1,22 @@
++/* This file is part of Strigi Desktop Search
++ *
++ * Copyright (C) 2008 Sebastian Trueg<sebastian@trueg.de>
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public License
++ * along with this library; see the file COPYING.LIB. If not, write to
++ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301, USA.
++ */
+ #include <strigi/streamthroughanalyzer.h>
+ #include <strigi/analyzerplugin.h>
+
+diff --git a/plugins/throughplugins/pcxthroughanalyzer.h b/plugins/throughplugins/pcxthroughanalyzer.h
+index a16fb5e..cde824a 100644
+--- a/plugins/throughplugins/pcxthroughanalyzer.h
++++ b/plugins/throughplugins/pcxthroughanalyzer.h
+@@ -30,7 +30,7 @@ private:
+ Strigi::AnalysisResult* indexable;
+ const PcxThroughAnalyzerFactory* factory;
+ public:
+- PcxThroughAnalyzer(const PcxThroughAnalyzerFactory* f) :factory(f) {}
++ explicit PcxThroughAnalyzer(const PcxThroughAnalyzerFactory* f) :factory(f) {}
+ ~PcxThroughAnalyzer() {}
+ void setIndexable(Strigi::AnalysisResult*);
+ Strigi::InputStream *connectInputStream(Strigi::InputStream *in);
+--
+1.8.4.2
+
diff --git a/source/l/strigi/libstreamanalyzer-0004-ffmpeg-Rename-mutex-to-g_mutex.patch b/source/l/strigi/libstreamanalyzer-0004-ffmpeg-Rename-mutex-to-g_mutex.patch
new file mode 100644
index 000000000..a114d029c
--- /dev/null
+++ b/source/l/strigi/libstreamanalyzer-0004-ffmpeg-Rename-mutex-to-g_mutex.patch
@@ -0,0 +1,50 @@
+From ae11c0b24fd3be995185ebdc5a5bbbb92ff30843 Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
+Date: Tue, 10 Sep 2013 17:50:56 +0300
+Subject: [PATCH 4/5] ffmpeg: Rename `mutex' to `g_mutex'.
+
+std::mutex is an actual type in C++11 and is implemented by libc++. The
+build was failing because references to `mutex' in lockmgr were ambiguous,
+as both the mutex variable defined above and std::mutex (because of the
+`using namespace std' statement) were found.
+---
+ plugins/endplugins/ffmpegendanalyzer.cpp | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/plugins/endplugins/ffmpegendanalyzer.cpp b/plugins/endplugins/ffmpegendanalyzer.cpp
+index f219912..eaed07f 100644
+--- a/plugins/endplugins/ffmpegendanalyzer.cpp
++++ b/plugins/endplugins/ffmpegendanalyzer.cpp
+@@ -56,22 +56,22 @@ public:
+ signed char analyze(AnalysisResult& idx, ::InputStream* in);
+ };
+
+-STRIGI_MUTEX_DEFINE(mutex);
++STRIGI_MUTEX_DEFINE(g_mutex);
+
+ static int
+ lockmgr(void **mtx, enum AVLockOp op) {
+ // pre-allocating a single mutex is the only way to get it to work without changing strigi_thread.h
+- assert( (*mtx == &mutex) || (op == AV_LOCK_CREATE) );
++ assert( (*mtx == &g_mutex) || (op == AV_LOCK_CREATE) );
+ switch(op) {
+ case AV_LOCK_CREATE:
+- *mtx = &mutex;
+- return !!STRIGI_MUTEX_INIT(&mutex);
++ *mtx = &g_mutex;
++ return !!STRIGI_MUTEX_INIT(&g_mutex);
+ case AV_LOCK_OBTAIN:
+- return !!STRIGI_MUTEX_LOCK(&mutex);
++ return !!STRIGI_MUTEX_LOCK(&g_mutex);
+ case AV_LOCK_RELEASE:
+- return !!STRIGI_MUTEX_UNLOCK(&mutex);
++ return !!STRIGI_MUTEX_UNLOCK(&g_mutex);
+ case AV_LOCK_DESTROY:
+- STRIGI_MUTEX_DESTROY(&mutex);
++ STRIGI_MUTEX_DESTROY(&g_mutex);
+ return 0;
+ }
+ return 1;
+--
+1.8.4.2
+
diff --git a/source/l/strigi/libstreamanalyzer-0005-use-rpath-only-when-needed.patch b/source/l/strigi/libstreamanalyzer-0005-use-rpath-only-when-needed.patch
new file mode 100644
index 000000000..bcbf50bb3
--- /dev/null
+++ b/source/l/strigi/libstreamanalyzer-0005-use-rpath-only-when-needed.patch
@@ -0,0 +1,31 @@
+From 82c277bc0264798b291417e675611d7e3bead176 Mon Sep 17 00:00:00 2001
+From: Rex Dieter <rdieter@math.unl.edu>
+Date: Wed, 1 Jan 2014 09:55:46 -0600
+Subject: [PATCH 5/5] use rpath only when needed
+
+cmake code borrowed from soprano
+---
+ CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6dee36b..d5cd1eb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -57,8 +57,13 @@ set(DATA_DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}")
+ # These two options below make it set the RPATH of the installed targets to all
+ # RPATH directories outside the current CMAKE_BINARY_DIR and also the library
+ # install directory. Alex
++list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemPlatformLibDir)
++list(FIND CMAKE_C_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemCLibDir)
++list(FIND CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemCxxLibDir)
+ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
++if("${_isSystemPlatformLibDir}" STREQUAL "-1" AND "${_isSystemCLibDir}" STREQUAL "-1" AND "${_isSystemCxxLibDir}" STREQUAL "-1")
+ set(CMAKE_INSTALL_RPATH ${LIB_DESTINATION} )
++endif()
+
+ if(NOT WIN32 AND NOT CMAKE_SYSTEM MATCHES "SunOS-5*.")
+ add_definitions(-fPIC)
+--
+1.8.4.2
+
diff --git a/source/l/strigi/libstreams-0001-Generate-config.h-after-looking-for-dependencies.patch b/source/l/strigi/libstreams-0001-Generate-config.h-after-looking-for-dependencies.patch
new file mode 100644
index 000000000..895c9f7e8
--- /dev/null
+++ b/source/l/strigi/libstreams-0001-Generate-config.h-after-looking-for-dependencies.patch
@@ -0,0 +1,43 @@
+From b82f954e71be45aef152bbf8925a3070b7e4c69a Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
+Date: Fri, 5 Apr 2013 02:13:31 +0300
+Subject: [PATCH 1/5] Generate config.h after looking for dependencies.
+
+At least lib/config.h.cmake's ICONV_SECOND_ARGUMENT_IS_CONST depends
+on FindIconv.cmake having been called before, otherwise it is always
+undefined.
+
+This fixes a regression introduced in 61a7ffe.
+
+CCMAIL: cgiboudeaux@gmx.com
+---
+ CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index cd95c92..b2d959c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -46,9 +46,6 @@ endif()
+ # check for visibility support
+ macro_check_gcc_visibility(__STRIGI_HAVE_GCC_VISIBILITY)
+
+-# Generate include/strigi/strigiconfig.h and lib/config.h
+-include(ConfigureChecks.cmake)
+-
+ # check for required packages
+ find_package(ZLIB)
+ set_package_properties(ZLIB PROPERTIES
+@@ -77,6 +74,9 @@ set_package_properties(Threads PROPERTIES
+
+ feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+
++# Generate include/strigi/strigiconfig.h and lib/config.h
++include(ConfigureChecks.cmake)
++
+ ##### building and testing #####
+ # every directory needs the headers that will be installed
+ include_directories(${libstreams_SOURCE_DIR}/include
+--
+1.8.4.2
+
diff --git a/source/l/strigi/libstreams-0002-Reduce-noise-in-analysis-tools-complain-about-resour.patch b/source/l/strigi/libstreams-0002-Reduce-noise-in-analysis-tools-complain-about-resour.patch
new file mode 100644
index 000000000..7179526ff
--- /dev/null
+++ b/source/l/strigi/libstreams-0002-Reduce-noise-in-analysis-tools-complain-about-resour.patch
@@ -0,0 +1,65 @@
+From 314f9d8f4fc50323e9f670ef54f0263cec08abc3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=96mer=20Fad=C4=B1l=20USTA?= <omerusta@gmail.com>
+Date: Tue, 9 Apr 2013 04:01:23 +0300
+Subject: [PATCH 2/5] Reduce noise in analysis tools complain about resource
+ leak
+
+Cppcheck gives false alerts. This will stop it complaining about
+resource leakage.
+Thanks to mpyne for review of patch
+
+REVIEW: 109920
+---
+ lib/fileinputstream.cpp | 4 ++--
+ lib/skippingfileinputstream.cpp | 4 ++--
+ lib/skippingfileinputstream2.cpp | 4 ++--
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/lib/fileinputstream.cpp b/lib/fileinputstream.cpp
+index 2801d1b..820b831 100644
+--- a/lib/fileinputstream.cpp
++++ b/lib/fileinputstream.cpp
+@@ -39,8 +39,8 @@ FileInputStream::FileInputStream(const char* filepath, int32_t buffersize) {
+ m_status = Error;
+ return;
+ }
+- FILE* f = fopen(filepath, "rb");
+- open(f, filepath, buffersize);
++ file = fopen(filepath, "rb");
++ open(file, filepath, buffersize);
+ }
+ FileInputStream::FileInputStream(FILE* file, const char* filepath,
+ int32_t buffersize) {
+diff --git a/lib/skippingfileinputstream.cpp b/lib/skippingfileinputstream.cpp
+index dcb4d32..9759c54 100644
+--- a/lib/skippingfileinputstream.cpp
++++ b/lib/skippingfileinputstream.cpp
+@@ -38,8 +38,8 @@ SkippingFileInputStream::SkippingFileInputStream(const char* filepath) {
+ m_status = Error;
+ return;
+ }
+- FILE* f = fopen(filepath, "rb");
+- open(f, filepath);
++ file = fopen(filepath, "rb");
++ open(file, filepath);
+ }
+ void
+ SkippingFileInputStream::open(FILE* f, const char* path) {
+diff --git a/lib/skippingfileinputstream2.cpp b/lib/skippingfileinputstream2.cpp
+index dc618f4..dcfcef2 100644
+--- a/lib/skippingfileinputstream2.cpp
++++ b/lib/skippingfileinputstream2.cpp
+@@ -36,8 +36,8 @@ SkippingFileInputStream2::SkippingFileInputStream2(const char* filepath, int32_t
+ m_status = Error;
+ return;
+ }
+- FILE* f = fopen(filepath, "rb");
+- open(f, filepath, buffersize);
++ file = fopen(filepath, "rb");
++ open(file, filepath, buffersize);
+ }
+ SkippingFileInputStream2::SkippingFileInputStream2(FILE* file, const char* filepath,
+ int32_t buffersize) {
+--
+1.8.4.2
+
diff --git a/source/l/strigi/libstreams-0003-Build-fix-for-gcc-4.8.patch b/source/l/strigi/libstreams-0003-Build-fix-for-gcc-4.8.patch
new file mode 100644
index 000000000..203286381
--- /dev/null
+++ b/source/l/strigi/libstreams-0003-Build-fix-for-gcc-4.8.patch
@@ -0,0 +1,25 @@
+From 6fedeb66cc3c59bce24146f079295a1d404c749c Mon Sep 17 00:00:00 2001
+From: Jos van den Oever <jos@vandenoever.info>
+Date: Sat, 1 Jun 2013 17:59:36 +0200
+Subject: [PATCH 3/5] Build fix for gcc 4.8.
+
+---
+ include/strigi/bufferedstream.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/strigi/bufferedstream.h b/include/strigi/bufferedstream.h
+index 563da8a..05f5500 100644
+--- a/include/strigi/bufferedstream.h
++++ b/include/strigi/bufferedstream.h
+@@ -34,7 +34,7 @@ namespace Strigi {
+ * BufferedStream will do the rest.
+ */
+ template <class T>
+-class BufferedStream : public StreamBase<T> {
++class STREAMS_EXPORT BufferedStream : public StreamBase<T> {
+ private:
+ StreamBuffer<T> buffer;
+ bool finishedWritingToBuffer;
+--
+1.8.4.2
+
diff --git a/source/l/strigi/libstreams-0004-Fix-Krazy-issues.patch b/source/l/strigi/libstreams-0004-Fix-Krazy-issues.patch
new file mode 100644
index 000000000..57036e627
--- /dev/null
+++ b/source/l/strigi/libstreams-0004-Fix-Krazy-issues.patch
@@ -0,0 +1,276 @@
+From 8aa2b21fe596ddfe9de250190ede78ee34f19d2d Mon Sep 17 00:00:00 2001
+From: Jos van den Oever <jos@vandenoever.info>
+Date: Fri, 12 Jul 2013 13:04:44 +0200
+Subject: [PATCH 4/5] Fix Krazy issues.
+
+---
+ .krazy | 3 +++
+ cmake/FindIconv.cmake | 19 +++++++++++++++++++
+ include/strigi/archivereader.h | 6 +++---
+ include/strigi/bz2inputstream.h | 2 +-
+ include/strigi/dataeventinputstream.h | 2 +-
+ include/strigi/kmpsearcher.h | 2 +-
+ include/strigi/lzmainputstream.h | 2 +-
+ include/strigi/stringterminatedsubstream.h | 2 +-
+ include/strigi/substreamprovider.h | 2 +-
+ lib/libstreams.pc.cmake | 19 +++++++++++++++++++
+ lib/signatureinputstream.h | 2 +-
+ lib/strigiconfig.cpp | 2 +-
+ lib/stringreader.h | 2 --
+ tests/api/ArchiveReaderTest.cpp | 4 ++--
+ tests/sharedtestcode/unknownsizestream.h | 4 ++--
+ 15 files changed, 56 insertions(+), 17 deletions(-)
+ create mode 100644 .krazy
+
+diff --git a/.krazy b/.krazy
+new file mode 100644
+index 0000000..4822bdd
+--- /dev/null
++++ b/.krazy
+@@ -0,0 +1,3 @@
++# see http://techbase.kde.org/Development/Tutorials/Code_Checking#Controlling_Krazy_on_the_EBN for an explanation of this file
++EXCLUDE syscalls,typedefs
++IGNORESUBS tests/data
+diff --git a/cmake/FindIconv.cmake b/cmake/FindIconv.cmake
+index ce40ab2..fd5a3af 100644
+--- a/cmake/FindIconv.cmake
++++ b/cmake/FindIconv.cmake
+@@ -1,3 +1,22 @@
++# This file is part of Strigi Desktop Search
++#
++# Copyright (C) 2006 Jos van den Oever <jos@vandenoever.info>
++#
++# This library is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Library General Public
++# License as published by the Free Software Foundation; either
++# version 2 of the License, or (at your option) any later version.
++#
++# This library is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Library General Public License for more details.
++#
++# You should have received a copy of the GNU Library General Public License
++# along with this library; see the file COPYING.LIB. If not, write to
++# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++# Boston, MA 02110-1301, USA.
++
+ # - Try to find Iconv
+ # Once done this will define
+ #
+diff --git a/include/strigi/archivereader.h b/include/strigi/archivereader.h
+index 823a432..ffe3f22 100644
+--- a/include/strigi/archivereader.h
++++ b/include/strigi/archivereader.h
+@@ -38,7 +38,7 @@ public:
+ * @brief Opens a stream for the given url.
+ *
+ * What is meant by @p url will depend on context. In the context of an
+- * archive with a file system-like directory stucture, it will be the path
++ * archive with a file system-like directory structure, it will be the path
+ * to the file relative the root of the archive (eg: /foo/bar).
+ *
+ * @param url unique name of or path to an item
+@@ -49,7 +49,7 @@ public:
+ * @brief Gets information about a given url
+ *
+ * What is meant by @p url will depend on context. In the context of an
+- * archive with a file system-like directory stucture, it will be the path
++ * archive with a file system-like directory structure, it will be the path
+ * to the file relative the root of the archive (eg: /foo/bar).
+ *
+ * @param url unique name of or path to an item
+@@ -89,7 +89,7 @@ public:
+ * @param e a vector containing information about each
+ * item in the directory
+ */
+- DirLister(Private* p);
++ explicit DirLister(Private* p);
+ /**
+ * @brief Copy constructor
+ */
+diff --git a/include/strigi/bz2inputstream.h b/include/strigi/bz2inputstream.h
+index aa40e88..09e566a 100644
+--- a/include/strigi/bz2inputstream.h
++++ b/include/strigi/bz2inputstream.h
+@@ -30,7 +30,7 @@ private:
+ Private* const p;
+ int32_t fillBuffer(char* start, int32_t space);
+ public:
+- BZ2InputStream(InputStream* input);
++ explicit BZ2InputStream(InputStream* input);
+ ~BZ2InputStream();
+ static bool checkHeader(const char* data, int32_t datasize);
+ };
+diff --git a/include/strigi/dataeventinputstream.h b/include/strigi/dataeventinputstream.h
+index 05368e2..c8205c4 100644
+--- a/include/strigi/dataeventinputstream.h
++++ b/include/strigi/dataeventinputstream.h
+@@ -48,7 +48,7 @@ public:
+ * When handleEnd is called, it is guaranteed that each
+ * element in the input stream has been passed in exactly
+ * one call to this function, and that the calls happened
+- * in the same order as the the data occurred in the
++ * in the same order as the data occurred in the
+ * InputStream.
+ *
+ * You should not call this function yourself. It forms
+diff --git a/include/strigi/kmpsearcher.h b/include/strigi/kmpsearcher.h
+index e3ec19d..28d049b 100644
+--- a/include/strigi/kmpsearcher.h
++++ b/include/strigi/kmpsearcher.h
+@@ -39,7 +39,7 @@ private:
+ int32_t maxlen;
+ public:
+ KmpSearcher() :table(0) { }
+- KmpSearcher(const std::string& query);
++ explicit KmpSearcher(const std::string& query);
+ ~KmpSearcher() {
+ if (table) {
+ free(table);
+diff --git a/include/strigi/lzmainputstream.h b/include/strigi/lzmainputstream.h
+index fa7cf87..530edc3 100644
+--- a/include/strigi/lzmainputstream.h
++++ b/include/strigi/lzmainputstream.h
+@@ -30,7 +30,7 @@ private:
+ Private* const p;
+ int32_t fillBuffer(char* start, int32_t space);
+ public:
+- LZMAInputStream(InputStream* input);
++ explicit LZMAInputStream(InputStream* input);
+ ~LZMAInputStream();
+ static bool checkHeader(const char* data, int32_t datasize);
+ };
+diff --git a/include/strigi/stringterminatedsubstream.h b/include/strigi/stringterminatedsubstream.h
+index 9f96bcc..fabb40d 100644
+--- a/include/strigi/stringterminatedsubstream.h
++++ b/include/strigi/stringterminatedsubstream.h
+@@ -30,7 +30,7 @@ namespace Strigi {
+ *
+ * This class stops reading data when either the end of the
+ * underlying stream is reacher, or a given terminator is encountered
+- * in the the stream.
++ * in the stream.
+ */
+ class STREAMS_EXPORT StringTerminatedSubStream : public InputStream {
+ private:
+diff --git a/include/strigi/substreamprovider.h b/include/strigi/substreamprovider.h
+index 21ce324..3036d32 100644
+--- a/include/strigi/substreamprovider.h
++++ b/include/strigi/substreamprovider.h
+@@ -88,7 +88,7 @@ public:
+ *
+ * @param input the inputstream that will be split into substreams
+ */
+- SubStreamProvider(InputStream *input)
++ explicit SubStreamProvider(InputStream *input)
+ : m_status(Ok)
+ , m_input(input)
+ , m_entrystream(0)
+diff --git a/lib/libstreams.pc.cmake b/lib/libstreams.pc.cmake
+index 8259b46..ce1205d 100644
+--- a/lib/libstreams.pc.cmake
++++ b/lib/libstreams.pc.cmake
+@@ -1,3 +1,22 @@
++# This file is part of Strigi Desktop Search
++#
++# Copyright (C) 2007 Jos van den Oever <jos@vandenoever.info>
++#
++# This library is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Library General Public
++# License as published by the Free Software Foundation; either
++# version 2 of the License, or (at your option) any later version.
++#
++# This library is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Library General Public License for more details.
++#
++# You should have received a copy of the GNU Library General Public License
++# along with this library; see the file COPYING.LIB. If not, write to
++# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++# Boston, MA 02110-1301, USA.
++
+ prefix=${CMAKE_INSTALL_PREFIX}
+ exec_prefix=${CMAKE_INSTALL_PREFIX}/bin
+ libdir=${LIB_DESTINATION}
+diff --git a/lib/signatureinputstream.h b/lib/signatureinputstream.h
+index 7302c75..63a2f0d 100644
+--- a/lib/signatureinputstream.h
++++ b/lib/signatureinputstream.h
+@@ -30,7 +30,7 @@ namespace Strigi {
+ *
+ * This class stops reading data when either the end of the
+ * underlying stream is reacher, or a given terminator is encountered
+- * in the the stream.
++ * in the stream.
+ */
+ class SignatureInputStream : public InputStream {
+ private:
+diff --git a/lib/strigiconfig.cpp b/lib/strigiconfig.cpp
+index 6607ebd..9d9d8f9 100644
+--- a/lib/strigiconfig.cpp
++++ b/lib/strigiconfig.cpp
+@@ -32,4 +32,4 @@ namespace Strigi {
+ const char* versionString() {
+ return STRIGI_VERSION_STRING;
+ }
+-}
+\ No newline at end of file
++}
+diff --git a/lib/stringreader.h b/lib/stringreader.h
+index 4d60b67..1a57c5c 100644
+--- a/lib/stringreader.h
++++ b/lib/stringreader.h
+@@ -20,11 +20,9 @@
+ #ifndef STRINGREADER_H
+ #define STRINGREADER_H
+
+-#ifdef __GNUC__
+ #error stringreader.h is deprecated. Include stringstream.h instead.
+ #error StringReader has been renamed to StringStream
+ #error Use StringInputStream for StringStream<char>
+ #error Use StringReader for StringStream<wchar_t>
+-#endif
+
+ #endif
+diff --git a/tests/api/ArchiveReaderTest.cpp b/tests/api/ArchiveReaderTest.cpp
+index ffb7cd7..6d38050 100644
+--- a/tests/api/ArchiveReaderTest.cpp
++++ b/tests/api/ArchiveReaderTest.cpp
+@@ -50,7 +50,7 @@ test2(const char* path) {
+ EntryInfo e;
+ while (dl.nextEntry(e)) {
+ string filepath(path);
+- filepath += "/";
++ filepath += '/';
+ filepath += e.filename;
+ if (e.type == EntryInfo::File) {
+ test1(filepath.c_str());
+@@ -83,7 +83,7 @@ walkdirectories(const char* path, void (*callback)(const char*)) {
+ if (S_ISREG(dirstat.st_mode)) {
+ callback(filepath.c_str());
+ } else if (S_ISDIR(dirstat.st_mode)) {
+- filepath += "/";
++ filepath += '/';
+ walkdirectories(filepath.c_str(), callback);
+ }
+ }
+diff --git a/tests/sharedtestcode/unknownsizestream.h b/tests/sharedtestcode/unknownsizestream.h
+index bde063e..73d3d49 100644
+--- a/tests/sharedtestcode/unknownsizestream.h
++++ b/tests/sharedtestcode/unknownsizestream.h
+@@ -17,8 +17,8 @@
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+-#ifndef STRIGI_UNKNOWNSIZEINPUTSTREAM
+-#define STRIGI_UNKNOWNSIZEINPUTSTREAM
++#ifndef STRIGI_UNKNOWNSIZEINPUTSTREAM_H
++#define STRIGI_UNKNOWNSIZEINPUTSTREAM_H
+
+ #include <strigi/strigiconfig.h>
+ #include <strigi/streambase.h>
+--
+1.8.4.2
+
diff --git a/source/l/strigi/libstreams-0005-use-rpath-only-when-needed.patch b/source/l/strigi/libstreams-0005-use-rpath-only-when-needed.patch
new file mode 100644
index 000000000..9a79c13bb
--- /dev/null
+++ b/source/l/strigi/libstreams-0005-use-rpath-only-when-needed.patch
@@ -0,0 +1,31 @@
+From f552becab291908030f8cc27de83155eb182c7ba Mon Sep 17 00:00:00 2001
+From: Rex Dieter <rdieter@math.unl.edu>
+Date: Wed, 1 Jan 2014 09:53:44 -0600
+Subject: [PATCH 5/5] use rpath only when needed
+
+cmake code borrowed from soprano
+---
+ CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b2d959c..a3948c2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -34,8 +34,13 @@ set(INCLUDE_DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
+ # These two options below make it set the RPATH of the installed targets to all
+ # RPATH directories outside the current CMAKE_BINARY_DIR and also the library
+ # install directory. Alex
++list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemPlatformLibDir)
++list(FIND CMAKE_C_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemCLibDir)
++list(FIND CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemCxxLibDir)
+ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
++if("${_isSystemPlatformLibDir}" STREQUAL "-1" AND "${_isSystemCLibDir}" STREQUAL "-1" AND "${_isSystemCxxLibDir}" STREQUAL "-1")
+ set(CMAKE_INSTALL_RPATH ${LIB_DESTINATION})
++endif()
+
+ if(NOT MSVC AND NOT MINGW AND NOT CMAKE_SYSTEM MATCHES "SunOS-5*.")
+ add_definitions(-fPIC)
+--
+1.8.4.2
+
diff --git a/source/l/strigi/strigi-fix-ftbfs-with-gcc-4.7.diff b/source/l/strigi/strigi-fix-ftbfs-with-gcc-4.7.diff
deleted file mode 100644
index d4721c393..000000000
--- a/source/l/strigi/strigi-fix-ftbfs-with-gcc-4.7.diff
+++ /dev/null
@@ -1,16 +0,0 @@
-Description: Fix FTBFS with gcc 4.7 due to missing <unistd.h> include.
-Author: Cyril Brulebois <kibi@debian.org>
-Bug-Debian: http://bugs.debian.org/667384
-
---- strigi-0.7.7.orig/strigidaemon/bin/daemon/eventlistener/eventlistenerqueue.cpp
-+++ strigi-0.7.7/strigidaemon/bin/daemon/eventlistener/eventlistenerqueue.cpp
-@@ -27,9 +27,7 @@
- #include <iostream>
- #include <stdio.h>
-
--#if defined(__SUNPRO_CC)
- #include <unistd.h>
--#endif
-
- using namespace std;
-
diff --git a/source/l/strigi/strigi.SlackBuild b/source/l/strigi/strigi.SlackBuild
index 8b7374fca..cefa4242d 100755
--- a/source/l/strigi/strigi.SlackBuild
+++ b/source/l/strigi/strigi.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2007-2008 Robby Workman, Northport, Alabama, USA
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
PKGNAM=strigi
-VERSION=${VERSION:-0.7.7}
+VERSION=${VERSION:-0.7.8}
BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:--j7}
@@ -34,7 +34,7 @@ NUMJOBS=${NUMJOBS:--j7}
MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
case "$MARCH" in
- i?86) export ARCH=i486 ;;
+ i?86) export ARCH=i586 ;;
armv7hl) export ARCH=$MARCH ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
@@ -42,8 +42,8 @@ if [ -z "$ARCH" ]; then
esac
fi
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
@@ -70,7 +70,13 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
-zcat $CWD/strigi-fix-ftbfs-with-gcc-4.7.diff.gz | patch -p1 --verbose || exit 1
+( cd libstreamanalyzer
+zcat $CWD/libstreamanalyzer*.patch.gz | patch -p1 --verbose || exit 1
+)
+( cd libstreams
+zcat $CWD/libstreams*.patch.gz | patch -p1 --verbose || exit 1
+)
+echo "target_link_libraries(index2dump streamanalyzer clucene-shared)" >> libstreamanalyzer/plugins/indexers/clucenengindexer/indexdump/CMakeLists.txt
chown -R root:root .
find . \