;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (gnu packages less)
#:use-module (guix licenses)
+ #:use-module (gnu packages)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages file)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu))
(define-public less
(package
(name "less")
- (version "487")
+ (version "590")
(source
(origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/less/less-"
- version ".tar.gz"))
- (sha256
- (base32
- "01i7n6jaxwmww3pasy3hg38zc6x7jw0w05mqqvh6caqbrdaq9p7k"))))
+ (method url-fetch)
+ (uri (list (string-append "mirror://gnu/less/less-"
+ version ".tar.gz")
+ (string-append "http://www.greenwoodsoftware.com/less/less-"
+ version ".tar.gz")))
+ (patches (search-patches "less-hurd-path-max.patch"))
+ (sha256
+ (base32 "044fl3izmsi8n1vqzsqdp65q0qyyn5kmsg4sk7id0mxzx15zbbba"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(home-page "https://www.gnu.org/software/less/")
to read the entire input file before starting, so it starts faster than most
text editors.")
(license gpl3+))) ; some files are under GPLv2+
+
+(define-public lesspipe
+ (package
+ (name "lesspipe")
+ (version "1.86")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wofr06/lesspipe")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "14qsfwvsqn6r0najpfh5p68by4jwlg2hj4250cfi1hx3j9i5nhgn"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; no tests
+ #:phases (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (delete-file "Makefile") ; force generating
+ (invoke "./configure"
+ (string-append "--prefix=" out)
+ "--yes")
+ #t)))
+ (add-before 'install 'patch-tput-and-file
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "lesspipe.sh"
+ (("tput colors")
+ (string-append (search-input-file inputs "/bin/tput")
+ " colors"))
+ (("file -")
+ (string-append (search-input-file inputs "/bin/file")
+ " -"))))))))
+ (inputs
+ `(("file" ,file)
+ ("ncurses" ,ncurses))) ; for tput
+ (native-inputs `(("perl" ,perl)))
+ (home-page "https://github.com/wofr06/lesspipe")
+ (synopsis "Input filter for less")
+ (description "To browse files, the excellent viewer @code{less} can be
+used. By setting the environment variable @code{LESSOPEN}, less can be
+enhanced by external filters to become more powerful. The input filter for
+less described here is called @code{lesspipe.sh}. It is able to process a
+wide variety of file formats. It enables users to inspect archives and
+display their contents without having to unpack them before. The filter is
+easily extensible for new formats.")
+ (license gpl2+)))