build-system/clojure: Provide only the right modules in scope.
authorLudovic Courtès <ludo@gnu.org>
Wed, 8 Jan 2020 18:28:48 +0000 (19:28 +0100)
committerLudovic Courtès <ludo@gnu.org>
Wed, 8 Jan 2020 22:21:14 +0000 (23:21 +0100)
Previously, we used to have a whole bunch of (guix build *-build-system)
modules in scope, which, for example, meant that '%standard-phases' was
clashing.  This change clarifies it.

* guix/build-system/clojure.scm (%default-modules): New variable.
(clojure-build): Change the default value of #:modules and that of
 #:phases.

guix/build-system/clojure.scm

index d70535c..607f67a 100644 (file)
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
 ;; Code:
 
 (define-with-docs %clojure-build-system-modules
-  "Build-side modules imported and used by default."
+  "Build-side modules imported by default."
   `((guix build clojure-build-system)
     (guix build clojure-utils)
     (guix build guile-build-system)
     ,@%ant-build-system-modules))
 
+(define %default-modules
+  ;; Modules in scope in the build-side environment.
+  '((guix build clojure-build-system)
+    (guix build clojure-utils)
+    (guix build utils)))
+
 (define-with-docs %default-clojure
   "The default Clojure package."
   (delay (@* (gnu packages clojure) clojure)))
                         (test-include `',%test-include)
                         (test-exclude `',%test-exclude)
 
-                        (phases '(@ (guix build clojure-build-system)
-                                    %standard-phases))
+                        (phases '%standard-phases)
                         (outputs '("out"))
                         (search-paths '())
                         (system (%current-system))
                         (guile #f)
 
                         (imported-modules %clojure-build-system-modules)
-                        (modules %clojure-build-system-modules))
+                        (modules %default-modules))
   "Build SOURCE with INPUTS."
   (let ((builder `(begin
                     (use-modules ,@modules)