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.master
parent
8a8f6590ec
commit
92b725829b
|
@ -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)
|
||||
;; 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"))
|
||||
(guiledir (string-append out
|
||||
"/share/guile/site/2.0")))
|
||||
(substitute* (find-files guiledir ".scm")
|
||||
(libdir (string-append out "/lib")))
|
||||
(substitute* (find-files "." "\\.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))"))))))
|
||||
#t)))))
|
||||
#:configure-flags (list (string-append "--with-guilesitedir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/guile/site/2.0"))
|
||||
|
|
Reference in New Issue