guix-commits
[Top][All Lists]
Advanced

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

03/03: gexp: 'compiled-modules' disables deprecation warnings by default


From: Ludovic Courtès
Subject: 03/03: gexp: 'compiled-modules' disables deprecation warnings by default.
Date: Wed, 29 Nov 2017 10:45:48 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit a912c723f76d9762072ce27204a9227a64bcb625
Author: Ludovic Courtès <address@hidden>
Date:   Wed Nov 29 16:38:13 2017 +0100

    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.
---
 doc/guix.texi     |  4 ++++
 guix/gexp.scm     | 21 ++++++++++++++++++---
 guix/packages.scm |  1 +
 3 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 777ca27..ddbb6c8 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.
 
address@hidden 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 3781a1e..27a8f35 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 f619d9b..d68af15 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)



reply via email to

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