mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-26 14:28:15 -05:00
gnu: chez-scheme: Refactor documentation phases.
Patches merged in both upstream Chez Scheme and Racket's variant will soon let us replace the 'install-docs' phase with just 'make install-docs'. Separating the 'link-doc-pdfs' phase (which won't change) leaves us well-prepared for the transition, regardless of whether Chez Scheme 9.5.10 or Racket 8.6 is released first. * gnu/packages/chez.scm (chez-scheme)[arguments]: Split 'install-doc' phase into 'install-docs' (matching the future 'make' target) and 'link-doc-pdfs'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
e9ac2a8f4b
commit
d35920daf0
1 changed files with 36 additions and 28 deletions
|
@ -309,35 +309,43 @@ (define-public chez-scheme
|
|||
(string-append (dirname scheme.boot)
|
||||
"/chez-scheme.boot")))))))
|
||||
;; Building the documentation requires stex and a running scheme.
|
||||
;; FIXME: this is probably wrong for cross-compilation
|
||||
(add-after 'install-symlink 'install-doc
|
||||
(add-after 'install-symlink 'install-docs
|
||||
(lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
|
||||
(match (assoc-ref outputs "doc")
|
||||
(#f
|
||||
(format #t "not installing docs~%"))
|
||||
(doc-prefix
|
||||
(let* ((chez+version (strip-store-file-name #$output))
|
||||
(scheme (search-input-file outputs "/bin/scheme"))
|
||||
(stexlib (search-input-directory (or native-inputs
|
||||
inputs)
|
||||
"/lib/stex"))
|
||||
(doc-dir (string-append doc-prefix
|
||||
"/share/doc/"
|
||||
chez+version)))
|
||||
(define* (stex-make #:optional (suffix ""))
|
||||
(invoke "make" "install"
|
||||
(string-append "Scheme=" scheme)
|
||||
(string-append "STEXLIB=" stexlib)
|
||||
(string-append "installdir=" doc-dir suffix)))
|
||||
(with-directory-excursion "csug"
|
||||
(stex-make "/csug"))
|
||||
(with-directory-excursion "release_notes"
|
||||
(stex-make "/release_notes"))
|
||||
(with-directory-excursion doc-dir
|
||||
(symlink "release_notes/release_notes.pdf"
|
||||
"release_notes.pdf")
|
||||
(symlink "csug/csug9_5.pdf"
|
||||
"csug.pdf"))))))))))
|
||||
(let* ((doc-prefix (or (assoc-ref outputs "doc")
|
||||
(assoc-ref outputs "out")))
|
||||
(chez+version (strip-store-file-name #$output))
|
||||
(scheme (search-input-file outputs "/bin/scheme"))
|
||||
(stexlib (search-input-directory (or native-inputs
|
||||
inputs)
|
||||
"/lib/stex"))
|
||||
(doc-dir (string-append doc-prefix
|
||||
"/share/doc/"
|
||||
chez+version)))
|
||||
(define* (stex-make #:optional (suffix ""))
|
||||
(invoke "make" "install"
|
||||
(string-append "Scheme=" scheme)
|
||||
(string-append "STEXLIB=" stexlib)
|
||||
(string-append "installdir=" doc-dir suffix)))
|
||||
(with-directory-excursion "csug"
|
||||
(stex-make "/csug"))
|
||||
(with-directory-excursion "release_notes"
|
||||
(stex-make "/release_notes")))))
|
||||
(add-after 'install-docs 'link-doc-pdfs
|
||||
;; otherwise, it's hard to notice them in a forest of HTML files
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(with-directory-excursion
|
||||
(string-append (or (assoc-ref outputs "doc")
|
||||
(assoc-ref outputs "out"))
|
||||
"/share/doc/"
|
||||
(strip-store-file-name #$output))
|
||||
(symlink "release_notes/release_notes.pdf"
|
||||
"release_notes.pdf")
|
||||
(match (find-files "csug"
|
||||
"csug.*\\.pdf$" ;; embeded version number
|
||||
#:fail-on-error? #t)
|
||||
((pth)
|
||||
(symlink pth
|
||||
"csug.pdf")))))))))
|
||||
;; Chez Scheme does not have a MIPS backend.
|
||||
;; FIXME: Debian backports patches to get armhf working.
|
||||
;; We should too. It is the Chez machine type arm32le
|
||||
|
|
Loading…
Reference in a new issue