Ludovic Courtès
a3bf096945
lint: Add 'home-page' checker.
...
* guix/build/download.scm (open-connection-for-uri): Export.
* guix/scripts/lint.scm (probe-uri, check-home-page): New procedures.
(%checkers): Add 'home-page' checker.
2014-12-28 17:57:36 +01:00
Ludovic Courtès
8b9019a6a9
lint: Fix typos in checker descriptions.
...
* guix/scripts/lint.scm (%checkers): "file names" (two words), and
"synopses" (plural).
2014-11-19 22:52:30 +01:00
Ludovic Courtès
db6dcf816f
lint: Use localized checker descriptions.
...
* guix/scripts/lint.scm (list-checkers-and-exit): Wrap
'lint-checker-description' call in (_ ...).
2014-11-19 22:52:30 +01:00
Ludovic Courtès
836f02bf52
lint: Correctly internationalize warning messages.
...
* guix/scripts/lint.scm (emit-warning): Remove '_' call for format
string.
(check-description-style, check-inputs-should-be-native,
check-synopsis-style, check-patches, check-gnu-synopsis+description):
Wrap message in (_ ...).
2014-11-19 22:52:30 +01:00
Ludovic Courtès
f4d5bca39e
lint: Change checker names to be symbols.
...
* guix/scripts/lint.scm (%checkers): Change 'name' fields to be
symbols.
(%options): Adjust "-c" option handler accordingly.
2014-11-19 22:52:30 +01:00
Ludovic Courtès
37627ffa89
lint: Fold 'sync-descriptions' script as 'gnu-description' lint checker.
...
* build-aux/sync-descriptions.scm: Remove. Move payload to...
* guix/scripts/lint.scm: ... here.
(escape-quotes, official-gnu-packages*,
check-gnu-synopsis+description): New procedures.
(%checkers): Add 'gnu-descriptions'.
* Makefile.am (EXTRA_DIST): Remove build-aux/sync-descriptions.scm.
(sync-descriptions): Use 'guix lint'.
2014-11-19 22:52:28 +01:00
Ludovic Courtès
15a6d433ff
lint: Allow synopses that start with an abbreviation.
...
* guix/scripts/lint.scm (starts-with-abbreviation?): New procedure.
(check-synopsis-style)[check-start-with-package-name]: Use it.
* tests/lint.scm ("synopsis: start with abbreviation"): New test.
2014-11-07 17:52:11 +01:00
Ludovic Courtès
105c260f00
lint: Skip starting-article test for the synopses of GNU packages.
...
* guix/scripts/lint.scm (check-synopsis-style)[check-start-article]:
Change to (const #t) when PACKAGE matches 'gnu-package?'.
2014-11-07 17:52:11 +01:00
Ludovic Courtès
431e5f5a3e
lint: Tolerate sentences that start with a parenthesis or a quote.
...
* guix/scripts/lint.scm (properly-starts-sentence?): Add (, ", and ' as
valid beginnings.
2014-11-07 17:52:11 +01:00
Ludovic Courtès
17854ef91d
lint: Improve check for synopses starting with package name.
...
* guix/scripts/lint.scm (package-name-regexp): New procedure.
(check-synopsis-style)[check-start-with-package-name]: Use it instead
of 'string-prefix-ci?'.
* tests/lint.scm ("synopsis: start with package name prefix"): New test.
2014-11-07 17:52:11 +01:00
Eric Bavier
3c42965b1e
guix: lint: Make exception for package name starting description.
...
* guix/scripts/lint.scm (check-description-style): Exception for
upper-case rule if the description starts with the package name.
* tests/lint.scm: Test it.
2014-10-26 13:03:53 -05:00
Eric Bavier
903581f971
guix: lint: Allow digits at start of synopsis or description.
...
* guix/scripts/lint.scm (start-with-capital-letter?): Rename too...
(properly-starts-sentence?): Rewrite with regex and add digits.
(check-description-style, check-synopsis-style): Use it.
* tests/lint.scm: Add tests.
2014-10-26 13:03:53 -05:00
Eric Bavier
334c43e354
guix: lint: Check for empty synopses and descriptions.
...
* guix/scripts/lint.scm (check-description-style,
check-synopsis-style): New emptiness checks.
* tests/lint.scm: Test them.
2014-10-26 13:03:53 -05:00
Eric Bavier
574e847b8e
guix: lint: Check for proper end-of-sentence space.
...
* guix/scripts/lint.scm (start-with-capital-letter?): Handle empty
strings.
(check-description-style): New check for end-of-sentence space.
* tests/lint.scm: Test it.
2014-10-26 13:03:53 -05:00
Eric Bavier
c04b82ffce
guix: lint: Use if/when consistently.
...
* guix/scripts/lint.scm (check-synopsis-style): Replace single-branch
uses of if with when.
(check-patches): Same
2014-10-26 13:03:53 -05:00
Eric Bavier
86a4126348
guix: lint: Use string-suffix? and string-prefix? where appropriate.
...
* guix/scripts/lint.scm (check-synopsis): Use string-suffix? and
string-prefix? in place of string-take and string=?.
2014-10-26 13:03:53 -05:00
Cyril Roelandt
dd7c013d4b
guix lint: add the --checkers option.
...
* guix/scripts/lint.scm: add the "--checkers" option.
* doc/guix.texi (Invoking guix lint): Document it.
* tests/guix-lint.sh: New file
* Makefile.am (SCM_TESTS): Add it.
2014-10-16 00:50:27 +02:00
Cyril Roelandt
3c762a13bf
guix lint: make sure synopses do not start with the package name.
...
* guix/scripts/lint.scm (check-start-with-package-name): New method.
* tests/lint.scm ("synopsis: start with package name"): New test.
2014-10-08 03:08:20 +02:00
Cyril Roelandt
a00ffdaa17
guix lint: Make sure a synopsis cannot start with a lower-case article.
...
* guix/scripts/lint.scm (check-start-article): use "string-ci=?" instead of
"string=?".
* tests/lint.scm ("synopsis: starts with 'a'",
"synopsis: starts with 'an'"): New tests.
2014-10-08 03:08:19 +02:00
Cyril Roelandt
8202a51313
guix lint: check whether descriptions and synopses start with an upper-case letter.
...
* guix/scripts/lint.scm (check-description-style,
check-synopsis-start-upper-case): New methods.
* tests/lint.scm ("description: does not start with an upper-case letter",
"synopsis: does not start with an upper-case letter"): New tests.
2014-10-08 03:08:19 +02:00
Cyril Roelandt
5622953de1
guix lint: Make sure synopses are not too long.
...
* guix/scripts/lint.scm (check-synopsis-length): New procedure.
* tests/lint.scm ("synopsis: too long"): New test.
2014-10-08 03:08:19 +02:00
Cyril Roelandt
90d104ba82
guix lint: make sure check-patches retrieves patch names.
...
* guix/lint (check-patches): Test the output of origin-patches.
2014-10-08 03:08:19 +02:00
Ludovic Courtès
b002e9d08e
guix lint: Remove "guix lint: " prefix from warnings.
...
This allows editors to parse warnings correctly.
* guix/scripts/lint.scm (emit-warning): Use 'format' instead of
'warning', to avoid the "guix lint: " prefix in messages.
* tests/lint.scm (call-with-warnings): Indent.
2014-09-03 15:43:07 +02:00
Cyril Roelandt
b4f5e0e87c
scripts: add guix lint
...
* guix/scripts/lint.scm: New file. Defines a 'lint' tool for Guix packages.
* tests/lint.scm: New file.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* po/guix/Makevars: Update appropriately.
* po/guix/POTFILES.in: Update appropriately.
* doc/guix.texi: Document "guix lint".
2014-09-03 02:07:07 +02:00