summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi4
-rw-r--r--guix/gexp.scm21
-rw-r--r--guix/packages.scm1
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)