summary refs log tree commit diff
path: root/gnu/packages/search.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/search.scm')
-rw-r--r--gnu/packages/search.scm61
1 files changed, 56 insertions, 5 deletions
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index 0d603ad360..44d5b631ca 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -6,6 +6,7 @@
 ;;; 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>
+;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,7 +25,7 @@
 
 (define-module (gnu packages search)
   #:use-module ((guix licenses)
-                #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ bsd-3 x11 perl-license))
+                #:select (gpl2 gpl2+ gpl3+ agpl3+ lgpl2.1+ bsd-3 x11 perl-license))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -43,9 +44,11 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages sphinx)
+  #:use-module (gnu packages time)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xml))
@@ -207,6 +210,54 @@ files and directories.")
 command line tool for interacting with libtocc.")
     (license gpl3+)))
 
+(define-public searx
+  (package
+    (name "searx")
+    (version "1.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/searx/searx")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0ghkx8g8jnh8yd46p4mlbjn2zm12nx27v7qflr4c8xhlgi0px0mh"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f ;what tests do is make online requests to each engine
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'relax-requirements
+           (lambda _
+             ;; These packages are outdated in Guix at the time of packaging.
+             ;; When they are updated, remove corresponding substitutions.
+             ;; Tests can run after build with 'searx-checker' tool in /bin.
+             (substitute* "requirements.txt"
+               (("flask-babel==2.0.0") "flask-babel>=1.0.0")
+               (("jinja2==2.11.3") "jinja2>=2.11.2")
+               (("lxml==4.6.3") "lxml>=4.4.2")
+               (("pygments==2.8.0") "pygments>=2.7.3")
+               (("requests\\[socks\\]==2.25.1") "requests>=2.25")
+               (("==") ">=")))))))
+    (propagated-inputs
+     `(("python-babel" ,python-babel)
+       ("python-certifi" ,python-certifi)
+       ("python-dateutil" ,python-dateutil)
+       ("python-flask" ,python-flask)
+       ("python-flask-babel" ,python-flask-babel)
+       ("python-idna" ,python-idna)
+       ("python-jinja2" ,python-jinja2)
+       ("python-langdetect" ,python-langdetect)
+       ("python-lxml" ,python-lxml)
+       ("python-pygments" ,python-pygments)
+       ("python-pyyaml" ,python-pyyaml)
+       ("python-requests" ,python-requests)))
+    (home-page "https://searx.github.io/searx/")
+    (synopsis "Privacy-respecting metasearch engine")
+    (description "Searx is a privacy-respecting, hackable metasearch engine.")
+    (license agpl3+)))
+
 (define-public bool
   (package
     (name "bool")
@@ -420,19 +471,19 @@ bibliographic data and simple document and bibtex retrieval.")
 (define-public ugrep
   (package
     (name "ugrep")
-    (version "3.1.11")
+    (version "3.1.12")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/Genivia/ugrep")
                     (commit (string-append "v" version))))
               (sha256
-               (base32 "1g3sxnrcaz1jxwa8nwrxpr63g4y0ha5zcf10053ciy9wjh6wqs1w"))
-              (file-name (string-append name "-" version "-checkout"))
+               (base32 "06y61sf2ywjaix4nss11wwkxipj8cc9ccx6bsmdm31h8d8wd2s0j"))
+              (file-name (git-file-name name version))
               (modules '((guix build utils)))
               (snippet
                '(begin
-                  (delete-file-recursively "bin")  ;; pre-build executables
+                  (delete-file-recursively "bin") ; pre-built executables
                   (for-each delete-file (find-files "tests" "^archive\\..*"))
                   (for-each delete-file (find-files "tests" "^.*\\.pdf$"))
                   (for-each delete-file (find-files "tests" "^.*\\.class$"))