~ruther/guix-local

91db77c955cc7ef95dd8b535e40d6b4cf28669ec — kiasoc5 3 years ago 4d0befe
gnu: source-highlight: Fix lesspipe file name and use gexps.

This fixes src-hilite-lesspipe.sh so that lesspipe.sh is called instead of lesspipe.

* gnu/packages/pretty-print.scm (source-highlight):
[arguments]: Use gexps, remove trailing #ts.
[phases]: Add phase to make src-highlight-lesspipe.sh work.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
1 files changed, 35 insertions(+), 33 deletions(-)

M gnu/packages/pretty-print.scm
M gnu/packages/pretty-print.scm => gnu/packages/pretty-print.scm +35 -33
@@ 32,6 32,7 @@
  #:use-module (guix download)
  #:use-module (guix build-system cmake)
  #:use-module (guix build-system gnu)
  #:use-module (guix gexp)
  #:use-module (guix utils)
  #:use-module (gnu packages)
  #:use-module (gnu packages bison)


@@ 278,39 279,40 @@ to @code{IOStreams}.")
    (native-inputs
     (list bison flex))
    (arguments
     `(#:configure-flags
       (list (string-append "--with-boost="
                            (assoc-ref %build-inputs "boost")))
       #:parallel-tests? #f             ;There appear to be race conditions
       #:phases
       (modify-phases %standard-phases
         ,@(if (%current-target-system)
               ;; 'doc/Makefile.am' tries to run stuff even when
               ;; cross-compiling.  Explicitly skip it.
               ;; XXX: Inline this on next rebuild cycle.
               `((add-before 'build 'skip-doc-directory
                   (lambda _
                     (substitute* "Makefile"
                       (("^SUBDIRS = (.*) doc(.*)$" _ before after)
                        (string-append "SUBDIRS = " before
                                       " " after "\n")))
                     #t)))
               '())
         (add-before 'check 'patch-test-files
           (lambda _
             ;; Unpatch shebangs in test input so that source-highlight
             ;; is still able to infer input language
             (substitute* '("tests/test.sh"
                            "tests/test2.sh"
                            "tests/test.tcl")
               (((string-append "#! *" (which "sh"))) "#!/bin/sh"))
             ;; Initial patching unrecoverably removes whitespace, so
             ;; remove it also in the comparison output.
             (substitute* '("tests/test.sh.html"
                            "tests/test2.sh.html"
                            "tests/test.tcl.html")
               (("#! */bin/sh") "#!/bin/sh"))
             #t)))))
     (list #:configure-flags
           #~(list (string-append "--with-boost=" (assoc-ref %build-inputs "boost")))
           #:parallel-tests? #f ;There appear to be race conditions
           #:phases
           #~(modify-phases %standard-phases
               (add-before 'build 'rename-lesspipe-to-lesspipe.sh.in
                 (lambda _
                   (substitute* "src/src-hilite-lesspipe.sh.in"
                     (("lesspipe") "lesspipe.sh"))))
           #$@(if (%current-target-system)
                  ;; 'doc/Makefile.am' tries to run stuff even when
                  ;; cross-compiling.  Explicitly skip it.
                  ;; XXX: Inline this on next rebuild cycle.
                  #~((add-before 'build 'skip-doc-directory
                       (lambda _
                         (substitute* "Makefile"
                           (("^SUBDIRS = (.*) doc(.*)$" _ before after)
                            (string-append "SUBDIRS = " before
                                           " " after "\n"))))))
                  '())
               (add-before 'check 'patch-test-files
                  (lambda _
                    ;; Unpatch shebangs in test input so that source-highlight
                    ;; is still able to infer input language
                    (substitute* '("tests/test.sh"
                                   "tests/test2.sh"
                                   "tests/test.tcl")
                      (((string-append "#! *" (which "sh"))) "#!/bin/sh"))
                    ;; Initial patching unrecoverably removes whitespace, so
                    ;; remove it also in the comparison output.
                    (substitute* '("tests/test.sh.html"
                                   "tests/test2.sh.html"
                                   "tests/test.tcl.html")
                      (("#! */bin/sh") "#!/bin/sh")))))))
    (home-page "https://www.gnu.org/software/src-highlite/")
    (synopsis "Produce a document with syntax highlighting from a source file")
    (description