~ruther/guix-local

2028a2c9607b407d3686ca5791c604ddec45f8f8 — Ben Woodcroft 10 years ago 6b3a1ce
import: cran: Move beautify-description to utils module.

* guix/import/cran.scm (beautify-description): Move from here...
* guix/import/utils.scm: ... to here.
2 files changed, 13 insertions(+), 12 deletions(-)

M guix/import/cran.scm
M guix/import/utils.scm
M guix/import/cran.scm => guix/import/cran.scm +0 -11
@@ 136,17 136,6 @@ empty list when the FIELD cannot be found."
                        (string-any char-set:whitespace item)))
                  (map string-trim-both items))))))

(define (beautify-description description)
  "Improve the package DESCRIPTION by turning a beginning sentence fragment
into a proper sentence and by using two spaces between sentences."
  (let ((cleaned (if (string-prefix? "A " description)
                     (string-append "This package provides a"
                                    (substring description 1))
                     description)))
    ;; Use double spacing between sentences
    (regexp-substitute/global #f "\\. \\b"
                              cleaned 'pre ".  " 'post)))

(define (description->package meta)
  "Return the `package' s-expression for a CRAN package from the alist META,
which was derived from the R package's DESCRIPTION file."

M guix/import/utils.scm => guix/import/utils.scm +13 -1
@@ 37,7 37,8 @@
            string->license
            license->symbol

            snake-case))
            snake-case
            beautify-description))

(define (factorize-uri uri version)
  "Factorize URI, a package tarball URI as a string, such that any occurrences


@@ 136,3 137,14 @@ to in the (guix licenses) module, or #f if there is no such known license."
  "Return a downcased version of the string STR where underscores are replaced
with dashes."
  (string-join (string-split (string-downcase str) #\_) "-"))

(define (beautify-description description)
  "Improve the package DESCRIPTION by turning a beginning sentence fragment
into a proper sentence and by using two spaces between sentences."
  (let ((cleaned (if (string-prefix? "A " description)
                     (string-append "This package provides a"
                                    (substring description 1))
                     description)))
    ;; Use double spacing between sentences
    (regexp-substitute/global #f "\\. \\b"
                              cleaned 'pre ".  " 'post)))