summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2021-10-28 13:26:52 +0000
committerRicardo Wurmus <rekado@elephly.net>2021-10-28 13:30:00 +0000
commit25e9d690ccbdae4967aa615c293cf142f16b053a (patch)
treeca2156d082cf55a9b01a05f1a3027c8e9b8f6285
parentc1ca85323d5246fc805a31e03b4164b8da08e930 (diff)
downloadguix-25e9d690ccbdae4967aa615c293cf142f16b053a.tar.gz
gnu: Add recoll.
* gnu/packages/search.scm (recoll): New variable.
-rw-r--r--gnu/packages/search.scm52
1 files changed, 51 insertions, 1 deletions
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index df6a8b2dfc..ca716aec77 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
-;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2021 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
 ;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
@@ -36,9 +36,12 @@
   #:use-module (guix build-system python)
   #:use-module (guix build-system meson)
   #:use-module (gnu packages)
+  #:use-module (gnu packages aspell)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages check)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages ebook)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages less)
   #:use-module (gnu packages linux)
@@ -286,6 +289,53 @@ accounting for new lines and paragraph changes.  It also has robust support
 for parsing HTML files.")
     (license gpl3+)))
 
+(define-public recoll
+  (package
+    (name "recoll")
+    (version "1.31.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.lesbonscomptes.com/recoll/"
+                           "recoll-" version ".tar.gz"))
+       (sha256
+        (base32 "0m1w5hf2n09lbzmzvlrm2lks4lci9vvjxy2mcmgb2avgly7v5vfk"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list "--disable-qtgui"
+             "--disable-webkit"
+             "--disable-python-module"
+             "--without-systemd")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-default-data-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "python/recoll/recoll/rclconfig.py"
+               (("/opt/local")
+                (assoc-ref outputs "out"))))))))
+    (inputs
+     `(("aspell" ,aspell)
+       ("chmlib" ,chmlib)
+       ("inotify-tools" ,inotify-tools)
+       ("libxslt" ,libxslt)
+       ("libxml2" ,libxml2)
+       ("python" ,python)
+       ("python-pdftotext" ,python-pdftotext)
+       ("xapian" ,xapian)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (home-page "")
+    (synopsis "Recoll finds documents based on their contents or file names")
+    (description "Recoll finds documents based on their contents as well as
+their file names.  It can search most document formats, but you may need
+external applications for text extraction.  It can reach any storage place:
+files, archive members, email attachments, transparently handling
+decompression.")
+    (license gpl2+)))
+
 (define-public hyperestraier
   (package
     (name "hyperestraier")