From 1126bb9cf33f10f004a5f53331389c777c025e75 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice via Bug reports for GNU Guix Date: Tue, 9 Mar 2021 22:41:58 +0100 Subject: lint: Warn about single-character package names. A common-sense exception is made for R. * guix/lint.scm (check-name): New procedure. (%local-checkers): Add it. --- guix/lint.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'guix/lint.scm') diff --git a/guix/lint.scm b/guix/lint.scm index be524b2b56..cdd9dd14d7 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,18 @@ (requires-store? lint-checker-requires-store? (default #f))) +(define (check-name package) + "Check whether PACKAGE's name matches our guidelines." + (let ((name (package-name package))) + ;; Currently checks only whether the name is too short. + (if (and (<= (string-length name) 1) + (not (string=? name "r"))) ; common-sense exception + (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)) @@ -1446,6 +1458,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") -- cgit v1.2.3