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.
This commit is contained in:
Ludovic Courtès 2016-10-08 16:34:53 +02:00
parent 8a8f6590ec
commit 92b725829b
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 14 additions and 14 deletions

View File

@ -228,21 +228,21 @@ Additionally, various channel-specific options can be negotiated.")
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(chmod "doc/version.texi" #o777) ;make it writable (chmod "doc/version.texi" #o777) ;make it writable
(zero? (system* "autoreconf" "-vfi")))) (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) (lambda* (#:key outputs #:allow-other-keys)
;; 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")) (let* ((out (assoc-ref outputs "out"))
(libdir (string-append out "/lib")) (libdir (string-append out "/lib")))
(guiledir (string-append out (substitute* (find-files "." "\\.scm$")
"/share/guile/site/2.0")))
(substitute* (find-files guiledir ".scm")
(("\"libguile-ssh\"") (("\"libguile-ssh\"")
(string-append "\"" libdir "/libguile-ssh\""))) (string-append "\"" libdir "/libguile-ssh\"")))
#t)))))
;; Make sure it works.
(setenv "GUILE_LOAD_PATH" guiledir)
(setenv "GUILE_LOAD_COMPILED_PATH" guiledir)
(zero?
(system* "guile" "-c" "(use-modules (ssh session))"))))))
#:configure-flags (list (string-append "--with-guilesitedir=" #:configure-flags (list (string-append "--with-guilesitedir="
(assoc-ref %outputs "out") (assoc-ref %outputs "out")
"/share/guile/site/2.0")) "/share/guile/site/2.0"))