[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
05/05: lint: 'inputs-should-be-native' checks for intltool, itstool and
From: |
Ludovic Courtès |
Subject: |
05/05: lint: 'inputs-should-be-native' checks for intltool, itstool and glib:bin. |
Date: |
Sun, 24 Jul 2016 17:55:53 +0000 (UTC) |
civodul pushed a commit to branch master
in repository guix.
commit 99fe215cc1c511a82e326727c6a0d193d246a387
Author: David Craven <address@hidden>
Date: Fri Jul 22 19:50:54 2016 +0200
lint: 'inputs-should-be-native' checks for intltool, itstool and glib:bin.
* guix/scripts/lint.scm (check-inputs-should-be-native): Warn when intltool,
itstool or glib:bin isn't a native-input.
* tests/lint.scm (inputs: glib:bin is probably a native input): Add test.
Co-authored-by: Ludovic Courtès <address@hidden>
---
guix/scripts/lint.scm | 25 ++++++++++++++++++-------
tests/lint.scm | 12 +++++++++++-
2 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index d5e9197..8aab1fe 100644
--- a/guix/scripts/lint.scm
+++ b/guix/scripts/lint.scm
@@ -203,14 +203,25 @@ by two spaces; possible infraction~p at ~{~a~^, ~}")
(define (check-inputs-should-be-native package)
;; Emit a warning if some inputs of PACKAGE are likely to belong to its
;; native inputs.
- (let ((inputs (package-inputs package)))
+ (let ((linted package)
+ (inputs (package-inputs package))
+ (native-inputs '("pkg-config" "glib:bin" "intltool" "itstool")))
(match inputs
- (((labels packages . _) ...)
- (when (member "pkg-config"
- (map package-name (filter package? packages)))
- (emit-warning package
- (_ "pkg-config should probably be a native input")
- 'inputs))))))
+ (((labels packages . outputs) ...)
+ (for-each (lambda (package output)
+ (when (package? package)
+ (let ((input (string-append
+ (package-name package)
+ (if (> (length output) 0)
+ (string-append ":" (car output))
+ ""))))
+ (when (member input native-inputs)
+ (emit-warning linted
+ (format #f (_ "'~a' should probably \
+be a native input")
+ input)
+ 'inputs)))))
+ packages outputs)))))
(define (package-name-regexp package)
"Return a regexp that matches PACKAGE's name as a word at the beginning of a
diff --git a/tests/lint.scm b/tests/lint.scm
index ce751c4..770f43e 100644
--- a/tests/lint.scm
+++ b/tests/lint.scm
@@ -31,6 +31,7 @@
#:use-module (guix scripts lint)
#:use-module (guix ui)
#:use-module (gnu packages)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages pkg-config)
#:use-module (web server)
#:use-module (web server http)
@@ -319,7 +320,16 @@ string) on HTTP requests."
(let ((pkg (dummy-package "x"
(inputs `(("pkg-config" ,pkg-config))))))
(check-inputs-should-be-native pkg)))
- "pkg-config should probably be a native input")))
+ "'pkg-config' should probably be a native input")))
+
+(test-assert "inputs: glib:bin is probably a native input"
+ (->bool
+ (string-contains
+ (with-warnings
+ (let ((pkg (dummy-package "x"
+ (inputs `(("glib" ,glib "bin"))))))
+ (check-inputs-should-be-native pkg)))
+ "'glib:bin' should probably be a native input")))
(test-assert "patches: file names"
(->bool
- branch master updated (a308c23 -> 99fe215), Ludovic Courtès, 2016/07/24
- 02/05: doc: address@hidden: Use 'modify-phases'., Ludovic Courtès, 2016/07/24
- 01/05: doc: Explain how to set up Git for signing., Ludovic Courtès, 2016/07/24
- 04/05: doc: Point out preference of message format., Ludovic Courtès, 2016/07/24
- 05/05: lint: 'inputs-should-be-native' checks for intltool, itstool and glib:bin.,
Ludovic Courtès <=
- 03/05: doc: Explain that contributors can use a pseudonym., Ludovic Courtès, 2016/07/24