* guix/lint.scm (check-name): New procedure.
(%local-checkers): Add it.
---
guix/lint.scm | 16 +++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/guix/lint.scm b/guix/lint.scm
index 311bc94cc3..5144fa139d 100644
--- a/guix/lint.scm
+++ b/guix/lint.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016 Danny Milosavljevic
;;; Copyright © 2016 Hartmut Goebel
;;; Copyright © 2017 Alex Kost
-;;; Copyright © 2017 Tobias Geerinckx-Rice
+;;; Copyright © 2017, 2021 Tobias Geerinckx-Rice
;;; Copyright © 2017, 2018, 2020 Efraim Flashner
;;; Copyright © 2018, 2019 Arun Isaac
;;; Copyright © 2020 Chris Marusich
@@ -170,6 +170,16 @@
(requires-store? lint-checker-requires-store?
(default #f)))
+(define (check-name package)
+ "Check whether PACKAGE's name matches our guidelines."
+ ;; Currently checks only whether the name is too short.
+ (if (<= (string-length (package-name package)) 1)
+ (list
+ (make-warning package
+ (G_ "name should be longer than a single character")
+ #:field 'name))
+ '()))
+
(define (properly-starts-sentence? s)
(string-match "^[(\"'`[:upper:][:digit:]]" s))
@@ -1445,6 +1455,10 @@ them for PACKAGE."
(define %local-checkers
(list
+ (lint-checker
+ (name'name)
+ (description "Validate package names")
+ (check check-name))
(lint-checker
(name'description)
(description "Validate package descriptions")
--
2.30.1