From ed6ae95e1af6335c91f292dd19e24d18d1093653 Mon Sep 17 00:00:00 2001 From: Jack Cummings Date: Mon, 1 Apr 2013 22:59:22 -0700 Subject: [PATCH] fix recoll filters, enable inotify support. --- pkgs/applications/search/recoll/default.nix | 43 +++++++++++++++++++-- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix index 7d68a12ba8f7..966d41315a1c 100644 --- a/pkgs/applications/search/recoll/default.nix +++ b/pkgs/applications/search/recoll/default.nix @@ -1,4 +1,7 @@ -{ stdenv, fetchurl, qt4, zlib, xapian, groff, libxslt, unzip, xpdf, antiword, catdoc, lyx, ghostscript, wv2, file, python}: +{ stdenv, fetchurl +, qt4, xapian, file, python +, djvulibre, groff, libxslt, unzip, xpdf, antiword, catdoc, lyx +, ghostscript, gawk, gnugrep, gnused, gnutar, gzip, libiconvOrLibc }: stdenv.mkDerivation rec { ver = "1.18.1"; @@ -9,13 +12,45 @@ stdenv.mkDerivation rec { sha256 = "0cyrkx5aza3485avb2kxc6cbsqqrb32l1kq8ravr9d828331v84f"; }; - buildInputs = [ qt4 zlib xapian groff libxslt unzip xpdf antiword catdoc lyx ghostscript wv2 file python ]; + configureFlags = [ "--with-inotify" ]; + + buildInputs = [ qt4 xapian file python ]; + + # the filters search through ${PATH} using a sh proc 'checkcmds' for the + # filtering utils. Short circuit this by replacing the filtering command with + # the absolute path to the filtering command. + postInstall = '' + for f in $out/share/recoll/filters/* ; do + substituteInPlace $f --replace antiword ${antiword}/bin/antiword + substituteInPlace $f --replace awk ${gawk}/bin/awk + substituteInPlace $f --replace catppt ${catdoc}/bin/catppt + substituteInPlace $f --replace djvused ${djvulibre}/bin/djvused + substituteInPlace $f --replace djvutxt ${djvulibre}/bin/djvutxt + substituteInPlace $f --replace grep ${gnugrep}/bin/grep + substituteInPlace $f --replace groff ${groff}/bin/groff + substituteInPlace $f --replace gunzip ${gzip}/bin/gunzip + substituteInPlace $f --replace iconv ${libiconvOrLibc}/bin/iconv + substituteInPlace $f --replace lyx ${lyx}/bin/lyx + substituteInPlace $f --replace pdftotext ${xpdf}/bin/pdftotext + substituteInPlace $f --replace pstotext ${ghostscript}/bin/ps2ascii + substituteInPlace $f --replace sed ${gnused}/bin/sed + substituteInPlace $f --replace tar ${gnutar}/bin/tar + substituteInPlace $f --replace unzip ${unzip}/bin/unzip + substituteInPlace $f --replace xls2csv ${catdoc}/bin/xls2csv + substituteInPlace $f --replace xsltproc ${libxslt}/bin/xsltproc + done + ''; + # TODO: + #substituteInPlace $f --replace unrtf ${unrtf}/bin/unrtf + #substituteInPlace $f --replace untex ${untex}/bin/untex + #substituteInPlace $f --replace wpd2html ${wpd2html}/bin/wpd2html meta = { description = "finds keywords inside documents as well as file names"; longDescription = '' - Xapian frontend that can search through files, archive members, email attachments. - ''; + Recoll is an Xapian frontend that can search through files, archive + members, email attachments. + ''; homepage = http://www.lesbonscomptes.com/recoll/; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.unix;