diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-10-08 16:34:53 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-10-09 23:23:11 +0200 |
commit | 92b725829bb8597a5828f1892812aa32620203c9 (patch) | |
tree | c428fc0e6b4b77197e65273d96442f0b6ecff939 /gnu/packages/ssh.scm | |
parent | 8a8f6590ec90fcade622cb53a921d60af469d988 (diff) | |
download | guix-92b725829bb8597a5828f1892812aa32620203c9.tar.gz |
gnu: guile-ssh: Compile .scm files after patching them.
Before this commit, the .go files were obtained by compiling the unpatched .scm files, so they would refer to libguile-ssh without its absolute file name. * gnu/packages/ssh.scm (guile-ssh)[arguments]: Move 'fix-libguile-ssh-file-name' before 'build'. Have it run "make install -C libguile-ssh" first.
Diffstat (limited to 'gnu/packages/ssh.scm')
-rw-r--r-- | gnu/packages/ssh.scm | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 02e8c93126..c2444fef4a 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -228,21 +228,21 @@ Additionally, various channel-specific options can be negotiated.") (lambda* (#:key inputs #:allow-other-keys) (chmod "doc/version.texi" #o777) ;make it writable (zero? (system* "autoreconf" "-vfi")))) - (add-after 'install 'fix-libguile-ssh-file-name + (add-before 'build 'fix-libguile-ssh-file-name (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (libdir (string-append out "/lib")) - (guiledir (string-append out - "/share/guile/site/2.0"))) - (substitute* (find-files guiledir ".scm") - (("\"libguile-ssh\"") - (string-append "\"" libdir "/libguile-ssh\""))) - - ;; Make sure it works. - (setenv "GUILE_LOAD_PATH" guiledir) - (setenv "GUILE_LOAD_COMPILED_PATH" guiledir) - (zero? - (system* "guile" "-c" "(use-modules (ssh session))")))))) + ;; Build and install libguile-ssh.so so that we can use + ;; its absolute file name in .scm files, before we build + ;; the .go files. + (and (zero? (system* "make" "install" + "-C" "libguile-ssh" + "-j" (number->string + (parallel-job-count)))) + (let* ((out (assoc-ref outputs "out")) + (libdir (string-append out "/lib"))) + (substitute* (find-files "." "\\.scm$") + (("\"libguile-ssh\"") + (string-append "\"" libdir "/libguile-ssh\""))) + #t))))) #:configure-flags (list (string-append "--with-guilesitedir=" (assoc-ref %outputs "out") "/share/guile/site/2.0")) |