summary refs log tree commit diff
path: root/gnu/packages/package-management.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-04-22 18:53:47 +0200
committerLudovic Courtès <ludo@gnu.org>2017-04-23 00:03:17 +0200
commitab2419e56ad3a8c1e4eec7d9b456586b12b04efd (patch)
tree17f5ac759ff419f537ab2c6a300941f15d623ee8 /gnu/packages/package-management.scm
parent38f10b0c4ea93ea42b27ff743bbaa8c94db6bf15 (diff)
downloadguix-ab2419e56ad3a8c1e4eec7d9b456586b12b04efd.tar.gz
gnu: guix: Honor the effective Guile version.
* gnu/packages/package-management.scm (guix-0.12.0)[arguments]: In
'wrap-program' phase, use the effective Guile version rather than "2.0".
Add #:modules argument.
Diffstat (limited to 'gnu/packages/package-management.scm')
-rw-r--r--gnu/packages/package-management.scm21
1 files changed, 16 insertions, 5 deletions
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 952c268b04..a931a0e269 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -91,6 +91,12 @@
                                          (assoc-ref %build-inputs
                                                     "libgcrypt")))
        #:parallel-tests? #f           ;work around <http://bugs.gnu.org/21097>
+
+       #:modules ((guix build gnu-build-system)
+                  (guix build utils)
+                  (ice-9 popen)
+                  (ice-9 rdelim))
+
        #:phases (modify-phases %standard-phases
                   (add-before
                    'configure 'copy-bootstrap-guile
@@ -139,19 +145,24 @@
                       ;; correct value, so set it.
                       (setenv "SHELL" (which "sh"))
                       #t))
-                  (add-after
-                   'install 'wrap-program
+                  (add-after 'install 'wrap-program
                    (lambda* (#:key inputs outputs #:allow-other-keys)
                      ;; Make sure the 'guix' command finds GnuTLS and
                      ;; Guile-JSON automatically.
                      (let* ((out    (assoc-ref outputs "out"))
+                            (guile  (assoc-ref inputs "guile"))
                             (json   (assoc-ref inputs "guile-json"))
                             (ssh    (assoc-ref inputs "guile-ssh"))
                             (gnutls (assoc-ref inputs "gnutls"))
+                            (effective
+                             (read-line
+                              (open-pipe* OPEN_READ
+                                          (string-append guile "/bin/guile")
+                                          "-c" "(display (effective-version))")))
                             (path   (string-append
-                                     json "/share/guile/site/2.0:"
-                                     ssh "/share/guile/site/2.0:"
-                                     gnutls "/share/guile/site/2.0")))
+                                     json "/share/guile/site/" effective ":"
+                                     ssh "/share/guile/site/" effective ":"
+                                     gnutls "/share/guile/site/" effective)))
 
                        (wrap-program (string-append out "/bin/guix")
                          `("GUILE_LOAD_PATH" ":" prefix (,path))