diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2017-02-10 19:24:57 -0600 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2017-02-14 08:10:19 -0600 |
commit | a5bd6a5e15f6f8bff77e760f8de53d979abfe1d9 (patch) | |
tree | d59ddbc7816ef4389e7e19e82d428a1ed7a72352 /gnu | |
parent | 80345600faae388f508822818adfc990b1ebac66 (diff) | |
download | guix-a5bd6a5e15f6f8bff77e760f8de53d979abfe1d9.tar.gz |
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.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/guile.scm | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 52b92453f7..457ee2e0fa 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 |