guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: doc: Work around (htmlprag) parser issue.


From: guix-commits
Subject: 01/02: doc: Work around (htmlprag) parser issue.
Date: Sat, 7 Sep 2019 12:42:16 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 7854bbeb3f88ad4747b0a4ca01021ef2741f7b4e
Author: Ludovic Courtès <address@hidden>
Date:   Sat Sep 7 15:37:22 2019 +0200

    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 c99bd50..5bc95d2 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
+                  ;; "<body><blockquote><p>foo</p>\n</blockquote></body>",
+                  ;; 'html->shtml' would mistakenly close 'blockquote' right
+                  ;; before <p>.  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 <pre class=\"lisp\"> 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]