[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/06: packages: Issue a warning unless the snippet returns #t.
From: |
Mark H. Weaver |
Subject: |
01/06: packages: Issue a warning unless the snippet returns #t. |
Date: |
Fri, 16 Mar 2018 09:09:34 -0400 (EDT) |
mhw pushed a commit to branch core-updates
in repository guix.
commit daac9c77b9ed25a3c0edf843fdfe5e209ebef58f
Author: Mark H Weaver <address@hidden>
Date: Fri Mar 16 07:24:05 2018 -0400
packages: Issue a warning unless the snippet returns #t.
* guix/packages.scm (patch-and-repack): Issue a warning if the snippet
returns a value other than #t.
---
guix/packages.scm | 33 ++++++++++++++++++++-------------
1 file changed, 20 insertions(+), 13 deletions(-)
diff --git a/guix/packages.scm b/guix/packages.scm
index 0ee4f71..ab4b627 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -566,19 +566,26 @@ specifies modules in scope when evaluating SNIPPET."
(for-each apply-patch '#+patches)
- (unless #+(if snippet
- #~(let ((module (make-fresh-user-module)))
- (module-use-interfaces!
- module
- (map resolve-interface '#+modules))
- ((@ (system base compile) compile)
- '#+snippet
- #:to 'value
- #:opts %auto-compilation-options
- #:env module))
- #~#t)
- (format (current-error-port)
- "snippet returned false, indicating failure~%"))
+ (let ((result #+(if snippet
+ #~(let ((module (make-fresh-user-module)))
+ (module-use-interfaces!
+ module
+ (map resolve-interface '#+modules))
+ ((@ (system base compile) compile)
+ '#+snippet
+ #:to 'value
+ #:opts %auto-compilation-options
+ #:env module))
+ #~#t)))
+ ;; Issue a warning unless the result is #t.
+ (unless (eqv? result #t)
+ (format (current-error-port) "\
+## WARNING: the snippet returned `~s'. Return values other than #t
+## are deprecated. Please migrate this package so that its snippet
+## reports errors by raising an exception, and otherwise returns #t.~%"
+ result))
+ (unless result
+ (error "snippet returned false")))
(chdir "..")
- branch core-updates updated (2a69f48 -> 60ff6ec), Mark H. Weaver, 2018/03/16
- 01/06: packages: Issue a warning unless the snippet returns #t.,
Mark H. Weaver <=
- 02/06: gnu-build: Issue a warning unless every phase returns #t., Mark H. Weaver, 2018/03/16
- 03/06: gnu: cross-base: Return #t from all phases., Mark H. Weaver, 2018/03/16
- 05/06: gnu: libstdc++: Return #t from chdir phase., Mark H. Weaver, 2018/03/16
- 06/06: gettext-boot0: Return #t from chdir phase., Mark H. Weaver, 2018/03/16
- 04/06: gnu: All snippets report errors using exceptions, else return #t., Mark H. Weaver, 2018/03/16