guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#73434] [PATCH] lint: Check for minimal variants.


From: Efraim Flashner
Subject: [bug#73434] [PATCH] lint: Check for minimal variants.
Date: Mon, 23 Sep 2024 10:56:01 +0300

* guix/lint.scm (check-inputs-should-use-a-minimal-variant): New
procedure.
(%local-checkers): Add it.

Change-Id: Ifbf808063e4e125c7070505a8a6215128d84b40b
---
 guix/lint.scm | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/guix/lint.scm b/guix/lint.scm
index 7612832a5a6..8c6c20c7237 100644
--- a/guix/lint.scm
+++ b/guix/lint.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2017 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2017, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018, 2020, 2024 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2020 Timothy Sample <samplet@ngyro.com>
@@ -96,6 +96,7 @@ (define-module (guix lint)
   #:export (check-description-style
             check-inputs-should-be-native
             check-inputs-should-not-be-an-input-at-all
+            check-inputs-should-use-a-minimal-variant
             check-input-labels
             check-wrapper-inputs
             check-patch-file-names
@@ -598,6 +599,21 @@ (define (check-inputs-should-not-be-an-input-at-all 
package)
          (package-input-intersection (package-direct-inputs package)
                                      input-names))))
 
+(define (check-inputs-should-use-a-minimal-variant package)
+  ;; Emit a warning if some inputs of PACKAGE should likely be replaced
+  ;; with their minimal variant.
+  (let ((input-names '("bash"
+                       "cmake"
+                       "gettext")))
+    (map (lambda (input)
+           (make-warning
+            package
+            (G_ "'~a' should probably switched for its minimal variant")
+            (list input)
+            #:field 'inputs))
+         (package-input-intersection (package-direct-inputs package)
+                                     input-names))))
+
 (define (check-input-labels package)
   "Emit a warning for labels that differ from the corresponding package name."
   (define (check input-kind package-inputs)
@@ -1978,6 +1994,10 @@ (define %local-checkers
      (name        'inputs-should-not-be-input)
      (description "Identify inputs that shouldn't be inputs at all")
      (check       check-inputs-should-not-be-an-input-at-all))
+   (lint-checker
+     (name        'inputs-should-be-minimal)
+     (description "Identify inputs that should use their minimal variant")
+     (check       check-inputs-should-use-a-minimal-variant))
    (lint-checker
      (name        'input-labels)
      (description "Identify input labels that do not match package names")

base-commit: 41e408eb1f93d96b549d345e2de74143220b7b76
-- 
Efraim Flashner   <efraim@flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted






reply via email to

[Prev in Thread] Current Thread [Next in Thread]