gnu: Add searx.

* gnu/packages/search.scm (searx): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Vinicius Monego 2021-07-08 03:55:27 +00:00 committed by Ludovic Courtès
parent c65183b628
commit 52058a1144
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -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 @@ (define-module (gnu packages search)
#: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 @@ (define-public tocc
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")