guix-commits
[Top][All Lists]
Advanced

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

01/01: guile-gdbm-ffi: Write to correct guile output directory and use g


From: Christopher Allan Webber
Subject: 01/01: guile-gdbm-ffi: Write to correct guile output directory and use guild.
Date: Tue, 14 Feb 2017 09:10:42 -0500 (EST)

cwebber pushed a commit to branch master
in repository guix.

commit a5bd6a5e15f6f8bff77e760f8de53d979abfe1d9
Author: Christopher Allan Webber <address@hidden>
Date:   Fri Feb 10 19:24:57 2017 -0600

    guile-gdbm-ffi: Write to correct guile output directory and use guild.
    
    * gnu/packages/guile.scm (guile-gdbm-ffi): Check guile for effective version
    before writing to output path.  Also fixes a bug where the guild command was
    not getting called, and instead was calling the internal guile compile-file
    procedure.  This meant that the package produced was dependent on whatever
    version of guile was powering Guix at the time.  Also set GUILE_AUTO_COMPILE
    to 0 to avoid gnarly looking warnings during build.
---
 gnu/packages/guile.scm | 24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 52b9245..457ee2e 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -846,10 +846,22 @@ inspired by the SCSH regular expression system.")
        #:builder
        (begin
          (use-modules (guix build utils)
-                      (system base compile))
+                      (ice-9 rdelim)
+                      (ice-9 popen))
+
+         ;; Avoid warnings we can safely ignore
+         (setenv "GUILE_AUTO_COMPILE" "0")
 
          (let* ((out (assoc-ref %outputs "out"))
-                (module-dir (string-append out "/share/guile/site/2.0"))
+                (effective-version
+                 (read-line
+                  (open-pipe* OPEN_READ
+                              (string-append
+                               (assoc-ref %build-inputs "guile")
+                               "/bin/guile")
+                              "-c" "(display (effective-version))")))
+                (module-dir (string-append out "/share/guile/site/"
+                                           effective-version))
                 (source (assoc-ref %build-inputs "source"))
                 (doc (string-append out "/share/doc"))
                 (guild (string-append (assoc-ref %build-inputs "guile")
@@ -857,7 +869,10 @@ inspired by the SCSH regular expression system.")
                 (gdbm.scm-dest
                  (string-append module-dir "/gdbm.scm"))
                 (gdbm.go-dest
-                 (string-append module-dir "/gdbm.go")))
+                 (string-append module-dir "/gdbm.go"))
+                (compile-file
+                 (lambda (in-file out-file)
+                   (system* guild "compile" "-o" out-file in-file))))
            ;; Make installation directories.
            (mkdir-p module-dir)
            (mkdir-p doc)
@@ -875,8 +890,7 @@ inspired by the SCSH regular expression system.")
                       (assoc-ref %build-inputs "gdbm"))))
 
            ;; compile to the destination
-           (compile-file gdbm.scm-dest
-                         #:output-file gdbm.go-dest)))))
+           (compile-file gdbm.scm-dest gdbm.go-dest)))))
     (inputs
      `(("guile" ,guile-2.0)))
     (propagated-inputs



reply via email to

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