lint: Check non-translated package descriptions.
authorMathieu Lirzin <mthl@openmailbox.org>
Sun, 20 Sep 2015 10:27:23 +0000 (12:27 +0200)
committerMathieu Lirzin <mthl@openmailbox.org>
Thu, 24 Sep 2015 20:46:20 +0000 (22:46 +0200)
* guix/ui.scm (texi->plain-text): Export.
* guix/scripts/lint.scm (check-description-style): Use it instead of
  'package-description-string'.

guix/scripts/lint.scm
guix/ui.scm

index 8224f54..95a8e2e 100644 (file)
@@ -143,12 +143,14 @@ monad."
                     (_ "description should not be empty")
                     'description)))
 
-  (define (check-texinfo-markup package)
-    "Check that PACKAGE description can be parsed as a Texinfo fragment."
+  (define (check-texinfo-markup description)
+    "Check that DESCRIPTION can be parsed as a Texinfo fragment.  If the
+markup is valid return a plain-text version of DESCRIPTION, otherwise #f."
     (catch 'parser-error
-      (lambda () (package-description-string package))
+      (lambda () (texi->plain-text description))
       (lambda (keys . args)
-        (emit-warning package (_ "Texinfo markup in description is invalid")))))
+        (emit-warning package (_ "Texinfo markup in description is invalid"))
+        #f)))
 
   (define (check-proper-start description)
     (unless (or (properly-starts-sentence? description)
@@ -179,9 +181,11 @@ by two spaces; possible infraction~p at ~{~a~^, ~}")
   (let ((description (package-description package)))
     (when (string? description)
       (check-not-empty description)
-      (check-texinfo-markup package)
-      (check-proper-start description)
-      (check-end-of-sentence-space description))))
+      ;; Use raw description for this because Texinfo rendering automatically
+      ;; fixes end of sentence space.
+      (check-end-of-sentence-space description)
+      (and=> (check-texinfo-markup description)
+             check-proper-start))))
 
 (define (check-inputs-should-be-native package)
   ;; Emit a warning if some inputs of PACKAGE are likely to belong to its
index 67dd062..fb8121c 100644 (file)
@@ -75,6 +75,7 @@
             switch-symlinks
             config-directory
             fill-paragraph
+            texi->plain-text
             package-description-string
             string->recutils
             package->recutils