From 7854bbeb3f88ad4747b0a4ca01021ef2741f7b4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 7 Sep 2019 15:37:22 +0200 Subject: [PATCH] doc: Work around (htmlprag) parser issue. * doc/build.scm (guile-lib/htmlprag-fixed): New variable. (syntax-highlighted-html): Use it instead of GUILE-LIB. --- doc/build.scm | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/doc/build.scm b/doc/build.scm index c99bd505fd..5bc95d2517 100644 --- a/doc/build.scm +++ b/doc/build.scm @@ -29,6 +29,7 @@ (guix gexp) (guix git) (guix git-download) + (guix utils) (git) (gnu packages base) (gnu packages gawk) @@ -165,6 +166,35 @@ as well as images, OS examples, and translations." ;; Options passed to 'makeinfo --html'. '("--css-ref=https://www.gnu.org/software/gnulib/manual.css")) +(define guile-lib/htmlprag-fixed + ;; Guile-Lib with a hotfix for (htmlprag). + (package + (inherit guile-lib) + (source (origin + (inherit (package-source guile-lib)) + (modules '(( guix build utils))) + (snippet + '(begin + ;; When parsing + ;; "

foo

\n
", + ;; 'html->shtml' would mistakenly close 'blockquote' right + ;; before

. This patch removes 'p' from the + ;; 'parent-constraints' alist to fix that. + (substitute* "src/htmlprag.scm" + (("^[[:blank:]]*\\(p[[:blank:]]+\\. \\(body td th\\)\\).*") + "")) + #t)))) + (arguments + (substitute-keyword-arguments (package-arguments guile-lib) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-before 'check 'skip-known-failure + (lambda _ + ;; XXX: The above change causes one test failure among + ;; the htmlprag tests. + (setenv "XFAIL_TESTS" "htmlprag.scm") + #t)))))))) + (define* (syntax-highlighted-html input #:key (name "highlighted-syntax") @@ -174,7 +204,7 @@ as well as images, OS examples, and translations." to (1) add them a link to SYNTAX-CSS-URL, and (2) highlight the syntax of all its

 blocks (as produced by 'makeinfo --html')."
   (define build
-    (with-extensions (list guile-lib guile-syntax-highlight)
+    (with-extensions (list guile-lib/htmlprag-fixed guile-syntax-highlight)
       (with-imported-modules '((guix build utils))
         #~(begin
             (use-modules (htmlprag)