diff options
author | Ludovic Courtès <ludo@gnu.org> | 2017-11-29 16:38:13 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-11-29 16:44:54 +0100 |
commit | a912c723f76d9762072ce27204a9227a64bcb625 (patch) | |
tree | 30b297b2bf10c4bb3aa40905839b642e10643b05 | |
parent | 15c2ddc12460c9d1e26fb89639b460b8a0b3ffc0 (diff) | |
download | patches-a912c723f76d9762072ce27204a9227a64bcb625.tar patches-a912c723f76d9762072ce27204a9227a64bcb625.tar.gz |
gexp: 'compiled-modules' disables deprecation warnings by default.
This avoids repeated deprecation messages, particularly while running
'guix system build' or similar.
* guix/gexp.scm (gexp->derivation): Add #:deprecation-warnings. Pass it
to 'compiled-modules'.
(compiled-modules): Add #:deprecation-warnings and honor it.
* doc/guix.texi (G-Expressions): Update 'gexp->derivation'
documentation.
* guix/packages.scm (patch-and-repack): Pass #:deprecation-warnings #t.
-rw-r--r-- | doc/guix.texi | 4 | ||||
-rw-r--r-- | guix/gexp.scm | 21 | ||||
-rw-r--r-- | guix/packages.scm | 1 |
3 files changed, 23 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 777ca2738b..ddbb6c8939 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4879,6 +4879,7 @@ information about monads.) [#:disallowed-references #f] @ [#:leaked-env-vars #f] @ [#:script-name (string-append @var{name} "-builder")] @ + [#:deprecation-warnings #f] @ [#:local-build? #f] [#:substitutable? #t] [#:guile-for-build #f] Return a derivation @var{name} that runs @var{exp} (a gexp) with @var{guile-for-build} (a derivation) on @var{system}; @var{exp} is @@ -4919,6 +4920,9 @@ refer to. Any reference to another store item will lead to a build error. Similarly for @var{disallowed-references}, which can list items that must not be referenced by the outputs. +@var{deprecation-warnings} determines whether to show deprecation warnings while +compiling modules. It can be @code{#f}, @code{#t}, or @code{'detailed}. + The other arguments are as for @code{derivation} (@pxref{Derivations}). @end deffn diff --git a/guix/gexp.scm b/guix/gexp.scm index 3781a1e6ee..27a8f35a58 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -564,6 +564,7 @@ names and file names suitable for the #:allowed-references argument to allowed-references disallowed-references leaked-env-vars local-build? (substitutable? #t) + deprecation-warnings (script-name (string-append name "-builder"))) "Return a derivation NAME that runs EXP (a gexp) with GUILE-FOR-BUILD (a derivation) on SYSTEM; EXP is stored in a file called SCRIPT-NAME. When @@ -599,6 +600,9 @@ refer to. Any reference to another store item will lead to a build error. Similarly for DISALLOWED-REFERENCES, which can list items that must not be referenced by the outputs. +DEPRECATION-WARNINGS determines whether to show deprecation warnings while +compiling modules. It can be #f, #t, or 'detailed. + The other arguments are as for 'derivation'." (define %modules (delete-duplicates @@ -648,7 +652,9 @@ The other arguments are as for 'derivation'." (compiled-modules %modules #:system system #:module-path module-path - #:guile guile-for-build) + #:guile guile-for-build + #:deprecation-warnings + deprecation-warnings) (return #f))) (graphs (if references-graphs (lower-reference-graphs references-graphs @@ -1023,7 +1029,8 @@ last one is created from the given <scheme-file> object." #:key (name "module-import-compiled") (system (%current-system)) (guile (%guile-for-build)) - (module-path %load-path)) + (module-path %load-path) + (deprecation-warnings #f)) "Return a derivation that builds a tree containing the `.go' files corresponding to MODULES. All the MODULES are built in a context where they can refer to each other." @@ -1073,7 +1080,15 @@ they can refer to each other." (gexp->derivation name build #:system system #:guile-for-build guile - #:local-build? #t))) + #:local-build? #t + #:env-vars + (case deprecation-warnings + ((#f) + '(("GUILE_WARN_DEPRECATED" . "no"))) + ((detailed) + '(("GUILE_WARN_DEPRECATED" . "detailed"))) + (else + '()))))) ;;; diff --git a/guix/packages.scm b/guix/packages.scm index f619d9b370..d68af1569f 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -608,6 +608,7 @@ specifies modules in scope when evaluating SNIPPET." (gexp->derivation name build #:graft? #f #:system system + #:deprecation-warnings #t ;to avoid a rebuild #:guile-for-build guile-for-build)))) (define (transitive-inputs inputs) |