Christopher Allan Webber wrote 8 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)
Continuing from: https://lists.gnu.org/archive/html/guix-devel/2017-02/msg00681.html
Christopher Allan Webber writes:
Toggle quote (3 lines)
> Anyway, okay to push? I'd love to have the buggy package not be buggy
> in master. :)
Meh, I STILL made a mistake! I forgot to have a couple of imports
included. But I've tested the package and now it works.
New patch attached!
From 052ab44ac7eda04c11e04d03620e03872cc1e84a Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber <cwebber@dustycloud.org>
Date: Fri, 10 Feb 2017 19:24:57 -0600
Subject: [PATCH] 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 | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
Toggle diff (52 lines)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 52b92453f..b31262664 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -846,10 +846,21 @@ inspired by the SCSH regular expression system.")
#:builder
(begin
(use-modules (guix build utils)
- (system base compile))
+ (ice-9 rdelim)
+ (ice-9 popen))
+
+ (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 +868,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 +889,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
--
2.11.0