From d8e353c11bf1999255a2471b553ce754800b074a Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Thu, 10 Feb 2022 17:41:43 +0100 Subject: gnu: lesspipe: Update to 2.04. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/less.scm (lesspipe): Update to 2.04. [arguments] Use new style. {configure} Adjust to updated source. {fix-makefile} New phase. {patch-tput-and-file} rename into … {patch-command-paths} this; patch other relevant scripts. [inputs] Add perl-archive-zip. --- gnu/packages/less.scm | 66 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 44 insertions(+), 22 deletions(-) diff --git a/gnu/packages/less.scm b/gnu/packages/less.scm index e23b5d0c24..6bcc4ad49a 100644 --- a/gnu/packages/less.scm +++ b/gnu/packages/less.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020, 2021 Michael Rohleder +;;; Copyright © 2022 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,10 +21,12 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages less) + #:use-module (guix gexp) #:use-module (guix licenses) #:use-module (gnu packages) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) + #:use-module (gnu packages perl-compression) #:use-module (gnu packages file) #:use-module (guix packages) #:use-module (guix download) @@ -59,38 +62,57 @@ text editors.") (define-public lesspipe (package (name "lesspipe") - (version "1.91") + (version "2.04") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/wofr06/lesspipe") - (commit version))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "04dqvq6j4h451xqbvxzv6pv679hzzfm39pdm5vg7h3r45gzg0kps")))) + "1mwmwkmiyrpib18mli4wrh9n0i12cnf08ssrj6a0s6bgjcfxcjr2")))) (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")))) - (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") - " -")))))))) + (list + #:tests? #f ; no tests + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + ;; configure is a perl script which the standard configure phase + ;; fails to execute + (invoke "./configure" + (string-append "--prefix=" (assoc-ref outputs "out"))))) + (add-before 'install 'fix-makefile + (lambda _ + (substitute* "Makefile" + (("\\$\\(DESTDIR\\)/etc") "$(DESTDIR)$(PREFIX)/etc")))) + (add-before 'install 'patch-command-paths + ;; Depending on the content of the file to be displayed and some + ;; settings, lesspipe trees to use a large variety of external + ;; commands, e.g. rpm, dpkg, vimcolor. We only link the + ;; essential ones to avoid this package to pull in all these + ;; dependencies which might never ever we used. + (lambda* (#:key inputs #:allow-other-keys) + (let ((file (search-input-file inputs "/bin/file")) + (tput (search-input-file inputs "/bin/tput"))) + (substitute* "sxw2txt" + (("^use warnings;" line) + (string-append + line "\nuse lib '" #$(this-package-input "perl-archive-zip") + "/lib/perl5/site_perl';"))) + (substitute* "lesscomplete" + (("file -") (string-append file " -"))) + (substitute* "lesspipe.sh" + (("tput colors") + (string-append tput " colors")) + (("file -") + (string-append file " -"))))))))) (inputs - (list file ncurses)) ; for tput + (list file + ncurses ;; for tput + perl-archive-zip)) (native-inputs (list perl)) (home-page "https://github.com/wofr06/lesspipe") (synopsis "Input filter for less") -- cgit v1.2.3