From 510ad5d93c0ba6208aa42815863853ec522352e6 Mon Sep 17 00:00:00 2001 From: Herman Rimm Date: Sun, 12 May 2024 21:08:32 +0200 Subject: [PATCH] import: utils: End package descriptions with period. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/import/utils.scm (beautify-description): Append period to last words which do not end with one. * tests/crate.scm: Append period to descriptions. * tests/elm.scm: Append period to descriptions. * tests/gem.scm: Append period to descriptions. * tests/hexpm.scm: Append period to descriptions. * tests/minetest.scm: Append period to descriptions. * tests/pypi.scm: Append period to descriptions. * tests/import-utils.scm ("beautify-description: transform fragment into sentence"): Likewise. Change-Id: I0b12c4d94cb26cf62fab5b7cbf7885e66ff6c10f Signed-off-by: Ludovic Courtès --- guix/import/utils.scm | 9 +++++++++ tests/crate.scm | 36 ++++++++++++++++++------------------ tests/elm.scm | 2 +- tests/gem.scm | 12 ++++++------ tests/hexpm.scm | 8 ++++---- tests/import-utils.scm | 2 +- tests/minetest.scm | 2 +- tests/pypi.scm | 8 ++++---- 8 files changed, 44 insertions(+), 35 deletions(-) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 09a01cf315..45fed93134 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -370,6 +370,15 @@ LENGTH characters." (cons* "This" "package" (string-downcase first) rest)) (_ words))) + (new-words + (match new-words + ((rest ... last) + (reverse (cons (if (or (string-suffix? "." last) + (string-suffix? "!" last) + (string-suffix? "?" last)) + last + (string-append last ".")) + (reverse rest)))))) (cleaned (string-join (map fix-word new-words)))) ;; Use double spacing between sentences diff --git a/tests/crate.scm b/tests/crate.scm index 8b5bbc1b03..5b4ad08c3c 100644 --- a/tests/crate.scm +++ b/tests/crate.scm @@ -503,7 +503,7 @@ (("rust-leaf-alice" ('unquote 'rust-leaf-alice-0.7)))))) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0)))) (string=? test-source-hash hash)) @@ -592,7 +592,7 @@ ('quasiquote (#:skip-build? #t))) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0)))) (define-public 'rust-leaf-alice-0.7 (package @@ -611,7 +611,7 @@ (arguments ('quasiquote (#:skip-build? #t))) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0)))) (define-public 'rust-leaf-bob-3 (package @@ -630,7 +630,7 @@ (arguments ('quasiquote (#:skip-build? #t))) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0)))) (define-public 'rust-intermediate-b-1 (package @@ -653,7 +653,7 @@ ('unquote rust-leaf-bob-3)))))) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0)))) (define-public 'rust-intermediate-a-1 (package @@ -680,7 +680,7 @@ ('unquote rust-leaf-bob-3)))))) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0)))) (define-public 'rust-root-1 (package @@ -711,7 +711,7 @@ ('unquote rust-intermediate-c-1)))))) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0))))) #t) (x @@ -740,7 +740,7 @@ ('unquote rust-leaf-alice-0.7)))))) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0)))) (define-public 'rust-leaf-alice-0.7 (package @@ -758,7 +758,7 @@ (build-system cargo-build-system) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0)))) (define-public 'rust-leaf-bob-3 (package @@ -776,7 +776,7 @@ (build-system cargo-build-system) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0)))) (define-public 'rust-intermediate-b-1 (package @@ -798,7 +798,7 @@ ('unquote rust-leaf-bob-3)))))) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0)))) (define-public 'rust-intermediate-a-1 (package @@ -824,7 +824,7 @@ ('unquote rust-leaf-bob-3)))))) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0)))) (define-public 'rust-root-1 (package @@ -855,7 +855,7 @@ ('unquote rust-intermediate-c-1)))))) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0))))) #t) (x @@ -972,7 +972,7 @@ ('unquote 'rust-leaf-bob-4.0.0-yanked)))))) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0))))) #t) (x @@ -1038,7 +1038,7 @@ (build-system cargo-build-system) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0)))) (define-public 'rust-leaf-bob-3.0.2-yanked (package @@ -1058,7 +1058,7 @@ (build-system cargo-build-system) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0)))) (define-public 'rust-leaf-bob-3 (package @@ -1076,7 +1076,7 @@ (build-system cargo-build-system) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0)))) (define-public 'rust-bar-1 (package @@ -1103,7 +1103,7 @@ ('unquote 'rust-leaf-bob-4.0.0-yanked)))))) (home-page "http://example.com") (synopsis "summary") - (description "This package provides summary") + (description "This package provides summary.") (license (list license:expat license:asl2.0))))) #t) (x diff --git a/tests/elm.scm b/tests/elm.scm index c30623da03..48d3eb4b01 100644 --- a/tests/elm.scm +++ b/tests/elm.scm @@ -257,7 +257,7 @@ package definition." "https://package.elm-lang.org/packages/elm-guix/demo/3.0.0") (synopsis "A test for `(guix import elm)`") (description - "This package provides a test for `(guix import elm)`") + "This package provides a test for `(guix import elm)`.") (properties '((upstream-name . "elm-guix/demo"))) (license license:gpl3+))) (equal? (directory-sha256 elm-guix-demo-dir) diff --git a/tests/gem.scm b/tests/gem.scm index 7e2436e3fb..dae29437e5 100644 --- a/tests/gem.scm +++ b/tests/gem.scm @@ -117,7 +117,7 @@ (build-system ruby-build-system) (propagated-inputs (list bundler ruby-bar)) (synopsis "A cool gem") - (description "This package provides a cool gem") + (description "This package provides a cool gem.") (home-page "https://example.com") (license (list license:expat license:asl2.0))) #t) @@ -146,7 +146,7 @@ (build-system ruby-build-system) (propagated-inputs (list bundler ruby-bar)) (synopsis "A cool gem") - (description "This package provides a cool gem") + (description "This package provides a cool gem.") (home-page "https://example.com") (license (list license:expat license:asl2.0))) #t) @@ -182,7 +182,7 @@ (build-system ruby-build-system) (propagated-inputs (list bundler)) (synopsis "Another cool gem") - (description "Another cool gem") + (description "Another cool gem.") (home-page "https://example.com") (license #f)) ;no licensing info (package @@ -198,7 +198,7 @@ (build-system ruby-build-system) (propagated-inputs (list bundler ruby-bar)) (synopsis "A cool gem") - (description "This package provides a cool gem") + (description "This package provides a cool gem.") (home-page "https://example.com") (license (list license:expat license:asl2.0)))) #t) @@ -234,7 +234,7 @@ (build-system ruby-build-system) (propagated-inputs (list bundler)) (synopsis "Another cool gem") - (description "Another cool gem") + (description "Another cool gem.") (home-page "https://example.com") (license #f)) ;no licensing info (package @@ -250,7 +250,7 @@ (build-system ruby-build-system) (propagated-inputs (list bundler ruby-bar)) (synopsis "A cool gem") - (description "This package provides a cool gem") + (description "This package provides a cool gem.") (home-page "https://example.com") (license (list license:expat license:asl2.0)))) #t) diff --git a/tests/hexpm.scm b/tests/hexpm.scm index 5df9af0ca6..1e746f9b34 100644 --- a/tests/hexpm.scm +++ b/tests/hexpm.scm @@ -152,7 +152,7 @@ (build-system rebar-build-system) (inputs (list erlang-blubb erlang-fasel)) (synopsis "A cool package") - (description "This package provides a cool package") + (description "This package provides a cool package.") (home-page "https://hex.pm/packages/bla") (license (list license:expat license:asl2.0))) #t) @@ -212,7 +212,7 @@ (build-system mix-build-system) (inputs (list erlang-fasel)) (synopsis "Another cool package") - (description "Another cool package") + (description "Another cool package.") (home-page "https://hex.pm/packages/blubb") (license license:expat)) (package @@ -227,7 +227,7 @@ "1k6d70mxwqgq78jrbr7yqnw187yki74jnagybi7nacrj4a67qjha")))) (build-system gnu-build-system) (synopsis "Yet another cool package") - (description "Yet another cool package") + (description "Yet another cool package.") (home-page "https://hex.pm/packages/fasel") (license "GPL")) (package @@ -243,7 +243,7 @@ (build-system rebar-build-system) (inputs (list erlang-blubb erlang-fasel)) (synopsis "A cool package") - (description "This package provides a cool package") + (description "This package provides a cool package.") (home-page "https://hex.pm/packages/bla") (license (list license:expat license:asl2.0)))) #t) diff --git a/tests/import-utils.scm b/tests/import-utils.scm index 229e6eafaa..efc66576b1 100644 --- a/tests/import-utils.scm +++ b/tests/import-utils.scm @@ -43,7 +43,7 @@ Differences are hard to spot, e.g. in CLOS vs. GOOPS.")) (test-equal "beautify-description: transform fragment into sentence" "This package provides a function to establish world peace" - (beautify-description "A function to establish world peace")) + (beautify-description "A function to establish world peace.")) (test-equal "beautify-description: remove single quotes" "CRAN likes to quote acronyms and function names." diff --git a/tests/minetest.scm b/tests/minetest.scm index 78469bf95b..bf1313ee22 100644 --- a/tests/minetest.scm +++ b/tests/minetest.scm @@ -48,7 +48,7 @@ (home-page "https://example.org/foo") (repo "https://example.org/foo.git") (synopsis "synopsis") - (guix-description "description") + (guix-description "description.") (guix-license '(list license:cc-by-sa4.0 license:lgpl3+)) (inputs '()) diff --git a/tests/pypi.scm b/tests/pypi.scm index 42b39cde73..c9aee34d8b 100644 --- a/tests/pypi.scm +++ b/tests/pypi.scm @@ -315,7 +315,7 @@ files specified by SPECS. Return its file name." (native-inputs (list python-pytest)) (home-page "http://example.com") (synopsis "summary") - (description "summary") + (description "summary.") (license license:lgpl2.0)) (and (string=? default-sha256/base32 hash) (equal? (pypi->guix-package "foo" #:version "1.0.0") @@ -356,7 +356,7 @@ to make sure we're testing wheels")))) (native-inputs (list python-pytest)) (home-page "http://example.com") (synopsis "summary") - (description "summary") + (description "summary.") (license license:lgpl2.0)) (string=? default-sha256/base32 hash)) (x @@ -384,7 +384,7 @@ to make sure we're testing wheels")))) (build-system pyproject-build-system) (home-page "http://example.com") (synopsis "summary") - (description "summary") + (description "summary.") (license license:lgpl2.0)) (string=? default-sha256/base32 hash)) (x @@ -414,7 +414,7 @@ to make sure we're testing wheels")))) (native-inputs (list python-pytest)) (home-page "http://example.com") (synopsis "summary") - (description "summary") + (description "summary.") (license license:lgpl2.0)) (string=? default-sha256/base32 hash)) (x