mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
scripts: style: Sort more kinds of package definitions.
* guix/scripts/style.scm (order-packages): Match comments before package S-exp. and its fields. Match in let. Match package/inherit. * tests/guix-style.sh: Add pkg-baz variable and package/inherit to test. Change-Id: I48a5976930501c20415b5413966b5294958bc23b Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
0950b726f2
commit
6ad2e407eb
2 changed files with 15 additions and 8 deletions
|
@ -503,13 +503,14 @@ top-level package definitions in alphabetical order. Packages which
|
||||||
share a name are placed with versions in descending order."
|
share a name are placed with versions in descending order."
|
||||||
(define (package-fields pkg)
|
(define (package-fields pkg)
|
||||||
(match pkg
|
(match pkg
|
||||||
((('define-public _ expr) _ ...)
|
((('define-public pkg _ ... (or ('let _ expr) expr)) _ ...)
|
||||||
(match expr
|
(match expr
|
||||||
((or ('package _ ('name name) ('version version) _ ...)
|
(((or 'package 'package/inherit) fields ...)
|
||||||
('package ('name name) ('version version) _ ...))
|
(let ((name (and=> (assoc-ref fields 'name) first))
|
||||||
(values name version))
|
(version (and=> (assoc-ref fields 'version) first)))
|
||||||
(_ (values #f #f))))
|
(values name version)))
|
||||||
(_ (values #f #f))))
|
(_ (and (values #f #f)))))
|
||||||
|
(_ (and (values #f #f)))))
|
||||||
|
|
||||||
(define (package>? lst1 lst2)
|
(define (package>? lst1 lst2)
|
||||||
(let-values (((name1 version1) (package-fields lst1))
|
(let-values (((name1 version1) (package-fields lst1))
|
||||||
|
|
|
@ -65,10 +65,16 @@ cat > "$tmpfile" <<EOF
|
||||||
(name "bar")
|
(name "bar")
|
||||||
(version "2")))
|
(version "2")))
|
||||||
|
|
||||||
|
(define-public pkg-baz
|
||||||
|
(let ()
|
||||||
|
(package
|
||||||
|
(name "baz")
|
||||||
|
(version "2"))))
|
||||||
|
|
||||||
;; The comment below belongs to the foo package.
|
;; The comment below belongs to the foo package.
|
||||||
(define-public pkg
|
(define-public pkg
|
||||||
(package
|
(package/inherit pkg-baz
|
||||||
(name "bar")
|
(name "baz")
|
||||||
(version "1")))
|
(version "1")))
|
||||||
;; Incomplete package definitions in alphabetical order.
|
;; Incomplete package definitions in alphabetical order.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue