[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/17: lint: Add '-e'.
From: |
guix-commits |
Subject: |
01/17: lint: Add '-e'. |
Date: |
Mon, 8 Aug 2022 05:55:08 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit ad8beb6325acf067387ac6387f9ee1b6f84893b4
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sun Aug 7 11:53:32 2022 +0200
lint: Add '-e'.
* guix/scripts/lint.scm (show-help, %options): Add '-e'.
(guix-lint): Call 'specification->package' while traversing OPTS. Add
case for 'expression pair. Adjust 'for-each' loop to expect packages.
* doc/guix.texi (Invoking guix lint): Document it.
---
doc/guix.texi | 10 ++++++++++
guix/scripts/lint.scm | 22 ++++++++++++++--------
2 files changed, 24 insertions(+), 8 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 21cee4e369..d6460a785f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -14359,6 +14359,16 @@ names returned by @option{--list-checkers}.
Only disable the checkers specified in a comma-separated list using the
names returned by @option{--list-checkers}.
+@item --expression=@var{expr}
+@itemx -e @var{expr}
+Consider the package @var{expr} evaluates to.
+
+This is useful to unambiguously designate packages, as in this example:
+
+@example
+guix lint -c archival -e '(@@ (gnu packages guile) guile-3.0)'
+@end example
+
@item --no-network
@itemx -n
Only enable the checkers that do not depend on Internet access.
diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index c72dc3caad..9920c3ee62 100644
--- a/guix/scripts/lint.scm
+++ b/guix/scripts/lint.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès
<ludo@gnu.org>
+;;; Copyright © 2013-2020, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
@@ -108,6 +108,8 @@ run the checkers on all packages.\n"))
exclude the specified checkers"))
(display (G_ "
-n, --no-network only run checkers that do not access the network"))
+ (display (G_ "
+ -e, --expression=EXPR consider the package EXPR evaluates to"))
(display (G_ "
-L, --load-path=DIR prepend DIR to the package module search path"))
@@ -161,9 +163,11 @@ run the checkers on all packages.\n"))
(exit 0)))
(option '(#\l "list-checkers") #f #f
(lambda (opt name arg result)
- (alist-cons 'list?
- #t
- result)))
+ (alist-cons 'list? #t result)))
+ (option '(#\e "expression") #t #f
+ (lambda (opt name arg result)
+ (alist-cons 'expression arg result)))
+
(option '(#\V "version") #f #f
(lambda args
(show-version-and-exit "guix lint")))))
@@ -184,8 +188,10 @@ run the checkers on all packages.\n"))
(let* ((opts (parse-options))
(args (filter-map (match-lambda
- (('argument . value)
- value)
+ (('argument . spec)
+ (specification->package spec))
+ (('expression . exp)
+ (read/eval-package-expression exp))
(_ #f))
(reverse opts)))
(no-checkers (or (assoc-ref opts 'exclude) '()))
@@ -219,7 +225,7 @@ run the checkers on all packages.\n"))
(fold-packages (lambda (p r) (run-checkers p checkers
#:store store)) '()))
(else
- (for-each (lambda (spec)
- (run-checkers (specification->package spec) checkers
+ (for-each (lambda (package)
+ (run-checkers package checkers
#:store store))
args)))))))))
- branch master updated (bde902cb78 -> 6db3b34d72), guix-commits, 2022/08/08
- 03/17: style: Move reader and printer to (guix read-print)., guix-commits, 2022/08/08
- 04/17: read-print: Add System and Home special forms., guix-commits, 2022/08/08
- 09/17: read-print: Recognize page breaks., guix-commits, 2022/08/08
- 11/17: read-print: 'canonicalize-comment' leaves top-level comments unchanged., guix-commits, 2022/08/08
- 01/17: lint: Add '-e'.,
guix-commits <=
- 05/17: read-print: Expose comment constructor., guix-commits, 2022/08/08
- 02/17: gnu: go-gitlab.com-shackra-goimapnotify: Update to 2.3.7., guix-commits, 2022/08/08
- 07/17: style: Adjust test to not emit blank lines., guix-commits, 2022/08/08
- 08/17: read-print: Read and render vertical space., guix-commits, 2022/08/08
- 10/17: read-print: Add code to read and write sequences of expressions/blanks., guix-commits, 2022/08/08
- 12/17: style: Add '--whole-file' option., guix-commits, 2022/08/08
- 15/17: installer: Render the final configuration with (guix read-print)., guix-commits, 2022/08/08
- 13/17: news: Add entry for 'guix style -f'., guix-commits, 2022/08/08
- 16/17: installer: Add comments and vertical space to the generated config., guix-commits, 2022/08/08
- 17/17: read-print: Add 'case' and 'cond' special forms., guix-commits, 2022/08/08