about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/strigi
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:36 +0000
committerAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:47 +0000
commit36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch)
treeb3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/libraries/strigi
parent4e31070265257dc67d120c27e0f75c2344fdfa9a (diff)
parentabf060725d7614bd3b9f96764262dfbc2f9c2199 (diff)
downloadnixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs
git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a
git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/strigi')
-rw-r--r--nixpkgs/pkgs/development/libraries/strigi/default.nix43
-rw-r--r--nixpkgs/pkgs/development/libraries/strigi/export_bufferedstream.patch12
-rw-r--r--nixpkgs/pkgs/development/libraries/strigi/gcc6.patch45
3 files changed, 100 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/strigi/default.nix b/nixpkgs/pkgs/development/libraries/strigi/default.nix
new file mode 100644
index 000000000000..36768acd991a
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/strigi/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, cmake, qt4, perl, bzip2, libxml2, exiv2
+, clucene_core, fam, zlib, dbus, pkgconfig
+}:
+
+stdenv.mkDerivation rec {
+  name = "strigi-${version}";
+  version = "0.7.8";
+
+  src = fetchurl {
+    url = "https://www.vandenoever.info/software/strigi/${name}.tar.bz2";
+    sha256 = "12grxzqwnvbyqw7q1gnz42lypadxmq89vk2qpxczmpmc4nk63r23";
+  };
+
+  includeAllQtDirs = true;
+
+  CLUCENE_HOME = clucene_core;
+
+  buildInputs =
+    [ zlib bzip2 libxml2 qt4 exiv2 clucene_core fam dbus.out ];
+
+  nativeBuildInputs = [ cmake pkgconfig perl ];
+
+  patches = [ ./export_bufferedstream.patch ./gcc6.patch ];
+
+  enableParallelBuilding = true;
+
+  # Strigi installs some libraries in an incorrect place
+  # ($out/$out/lib instead of $out/lib), so move them to the right
+  # place.
+  postInstall =
+    ''
+      mv $out/$out/lib/* $out/lib
+      rm -rf $out/nix
+    '';
+
+  meta = {
+    homepage = http://strigi.sourceforge.net;
+    description = "A very fast and efficient crawler to index data on your harddrive";
+    license = "LGPL";
+    maintainers = with stdenv.lib.maintainers; [ sander ];
+    inherit (qt4.meta) platforms;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/strigi/export_bufferedstream.patch b/nixpkgs/pkgs/development/libraries/strigi/export_bufferedstream.patch
new file mode 100644
index 000000000000..4c6b34fe1bec
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/strigi/export_bufferedstream.patch
@@ -0,0 +1,12 @@
+diff -u -r strigi-0.7.8/libstreams/include/strigi/bufferedstream.h strigi-0.7.8_new/libstreams/include/strigi/bufferedstream.h
+--- strigi-0.7.8/libstreams/include/strigi/bufferedstream.h	2013-02-05 13:34:57.000000000 -0800
++++ strigi-0.7.8_new/libstreams/include/strigi/bufferedstream.h	2013-07-14 17:01:54.000000000 -0700
+@@ -34,7 +34,7 @@
+  * BufferedStream will do the rest.
+  */
+ template <class T>
+-class BufferedStream : public StreamBase<T> {
++class STRIGI_EXPORT BufferedStream : public StreamBase<T> {
+ private:
+     StreamBuffer<T> buffer;
+     bool finishedWritingToBuffer;
diff --git a/nixpkgs/pkgs/development/libraries/strigi/gcc6.patch b/nixpkgs/pkgs/development/libraries/strigi/gcc6.patch
new file mode 100644
index 000000000000..b46f6c52b823
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/strigi/gcc6.patch
@@ -0,0 +1,45 @@
+https://sourceforge.net/p/strigi/patches/4/
+
+and a fix for
+
+/tmp/nix-build-strigi-0.7.8.drv-0/strigi-0.7.8/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp:325:37: error: no matching function for call to 'make_pair(std::__cxx11::string, std::__cxx11::string&)'
+             wchartoutf8(name), value));
+
+diff -Naur strigi-0.7.8.old/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake strigi-0.7.8/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake
+--- strigi-0.7.8.old/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake	2013-02-05 16:34:52.000000000 -0500
++++ strigi-0.7.8/libstreamanalyzer/cmake/MacroCheckGccVisibility.cmake	2016-05-14 11:39:54.586260564 -0400
+@@ -15,7 +15,7 @@
+    # get the gcc version
+    exec_program(${CMAKE_C_COMPILER} ARGS ${CMAKE_C_COMPILER_ARG1} --version OUTPUT_VARIABLE _gcc_version_info)
+ 
+-   string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
++   string (REGEX MATCH "[3456789]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
+    # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the patch level, handle this here:
+    if (NOT _gcc_version)
+       string (REGEX REPLACE ".*\\(GCC\\).* ([34]\\.[0-9]) .*" "\\1.0" _gcc_version "${_gcc_version_info}")
+diff -Naur strigi-0.7.8.old/libstreams/cmake/MacroCheckGccVisibility.cmake strigi-0.7.8/libstreams/cmake/MacroCheckGccVisibility.cmake
+--- strigi-0.7.8.old/libstreams/cmake/MacroCheckGccVisibility.cmake	2013-02-05 16:34:57.000000000 -0500
++++ strigi-0.7.8/libstreams/cmake/MacroCheckGccVisibility.cmake	2016-05-14 11:40:11.340134414 -0400
+@@ -15,7 +15,7 @@
+    # get the gcc version
+    exec_program(${CMAKE_C_COMPILER} ARGS ${CMAKE_C_COMPILER_ARG1} --version OUTPUT_VARIABLE _gcc_version_info)
+ 
+-   string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
++   string (REGEX MATCH "[3456789]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
+    # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the patch level, handle this here:
+    if (NOT _gcc_version)
+       string (REGEX REPLACE ".*\\(GCC\\).* ([34]\\.[0-9]) .*" "\\1.0" _gcc_version "${_gcc_version_info}")
+
+diff -ru strigi-0.7.8-orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp strigi-0.7.8/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp
+--- strigi-0.7.8-orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp	2013-02-05 22:34:52.000000000 +0100
++++ strigi-0.7.8/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp	2017-07-31 10:56:27.067902643 +0200
+@@ -321,8 +321,7 @@
+         string size = value;
+         doc.size = atoi(size.c_str());
+     } else {
+-        doc.properties.insert(make_pair<const string, string>(
+-            wchartoutf8(name), value));
++        doc.properties.emplace(wchartoutf8(name), value);
+     }
+ }
+ Variant