From 7bc828366f14c1d7bcbc3a471541e01e082cffe4 Mon Sep 17 00:00:00 2001 From: Jack Cummings Date: Mon, 1 Apr 2013 15:42:41 -0700 Subject: [PATCH 1/2] recoll-1.18.1 --- pkgs/applications/search/recoll/default.nix | 24 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/applications/search/recoll/default.nix diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix new file mode 100644 index 000000000000..7d68a12ba8f7 --- /dev/null +++ b/pkgs/applications/search/recoll/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, qt4, zlib, xapian, groff, libxslt, unzip, xpdf, antiword, catdoc, lyx, ghostscript, wv2, file, python}: + +stdenv.mkDerivation rec { + ver = "1.18.1"; + name = "recoll-${ver}"; + + src = fetchurl { + url = "http://www.lesbonscomptes.com/recoll/${name}.tar.gz"; + sha256 = "0cyrkx5aza3485avb2kxc6cbsqqrb32l1kq8ravr9d828331v84f"; + }; + + buildInputs = [ qt4 zlib xapian groff libxslt unzip xpdf antiword catdoc lyx ghostscript wv2 file python ]; + + meta = { + description = "finds keywords inside documents as well as file names"; + longDescription = '' + 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; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2e299133f134..791f54b715e1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1474,6 +1474,8 @@ let recutils = callPackage ../tools/misc/recutils { }; + recoll = callPackage ../applications/search/recoll { }; + refind = callPackage ../tools/misc/refind { }; reiser4progs = callPackage ../tools/filesystems/reiser4progs { }; From ed6ae95e1af6335c91f292dd19e24d18d1093653 Mon Sep 17 00:00:00 2001 From: Jack Cummings Date: Mon, 1 Apr 2013 22:59:22 -0700 Subject: [PATCH 2/2] 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;