[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
03/03: gnu: guile-wisp: Move .go files to 'lib/guile/2.2/site-ccache'.
From: |
Ludovic Courtès |
Subject: |
03/03: gnu: guile-wisp: Move .go files to 'lib/guile/2.2/site-ccache'. |
Date: |
Mon, 27 Nov 2017 08:06:55 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit e8374e6912718dad6b39a18ccc57fc735d2e4c4d
Author: Ludovic Courtès <address@hidden>
Date: Mon Nov 27 14:03:50 2017 +0100
gnu: guile-wisp: Move .go files to 'lib/guile/2.2/site-ccache'.
* gnu/packages/guile.scm (guile-wisp)[arguments]: Remove (system base
compile) from #:modules, and (ice-9 rdelim) and (ice-9 popen).
In 'install-go-files' phase, invoke 'guild' to compile, and write to
lib/guile/X.Y/site-ccache.
---
gnu/packages/guile.scm | 27 +++++++++++++++++++--------
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 6d9c428..fef15b4 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -1274,8 +1274,11 @@ key-value cache and store.")
"1f2bbicq1rxnwmiplrm4r75wj06w385mjkyvi7g4k740bgwcrzxr"))))
(build-system gnu-build-system)
(arguments
- `(#:modules ((system base compile)
- ,@%gnu-build-system-modules)
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 rdelim)
+ (ice-9 popen))
+
#:phases
(modify-phases %standard-phases
(add-before 'configure 'substitute-before-config
@@ -1300,14 +1303,22 @@ key-value cache and store.")
(add-after 'install 'install-go-files
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
- (module-dir (string-append out "/share/guile/site")))
+ (effective (read-line
+ (open-pipe* OPEN_READ
+ "guile" "-c"
+ "(display (effective-version))")))
+ (module-dir (string-append out "/share/guile/site/"
+ effective))
+ (object-dir (string-append out "/lib/guile/" effective
+ "/site-ccache"))
+ (prefix (string-length module-dir)))
;; compile to the destination
(for-each (lambda (file)
- (compile-file file
- #:output-file
- (string-append
- (string-drop-right file 4)
- ".go")))
+ (let* ((base (string-drop (string-drop-right file 4)
+ prefix))
+ (go (string-append object-dir base ".go")))
+ (invoke "guild" "compile" "-L" module-dir
+ file "-o" go)))
(find-files module-dir "\\.scm$"))
#t))))))
(home-page "http://draketo.de/english/wisp")