aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/ssh.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/ssh.scm')
-rw-r--r--gnu/packages/ssh.scm28
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"))