diff options
Diffstat (limited to 'gnu/packages/scheme.scm')
-rw-r--r-- | gnu/packages/scheme.scm | 50 |
1 files changed, 46 insertions, 4 deletions
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 752dae226a..352b66c59b 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -30,6 +30,7 @@ #:use-module (gnu packages databases) #:use-module (gnu packages emacs) #:use-module (gnu packages texinfo) + #:use-module (gnu packages texlive) #:use-module (gnu packages base) #:use-module (gnu packages pkg-config) #:use-module (gnu packages avahi) @@ -55,9 +56,13 @@ (name "mit-scheme") (version "9.2") (source #f) ; see below + (outputs '("out" "doc")) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) #:phases (modify-phases %standard-phases (replace 'unpack @@ -83,11 +88,48 @@ (string-prefix? "i686" system)) (zero? (system* "make" "compile-microcode")) (zero? (system* "./etc/make-liarc.sh" - (string-append "--prefix=" out)))))))))) + (string-append "--prefix=" out))))))) + (add-after 'configure 'configure-doc + (lambda* (#:key outputs inputs #:allow-other-keys) + (with-directory-excursion "../doc" + (let* ((out (assoc-ref outputs "out")) + (bash (assoc-ref inputs "bash")) + (bin/sh (string-append bash "/bin/sh"))) + (system* bin/sh "./configure" + (string-append "--prefix=" out) + (string-append "SHELL=" bin/sh)) + (substitute* '("Makefile" "make-common") + (("/lib/mit-scheme/doc") + (string-append "/share/doc/" ,name "-" ,version))) + #t)))) + (add-after 'build 'build-doc + (lambda* _ + (with-directory-excursion "../doc" + (zero? (system* "make"))))) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc")) + (old-doc-dir (string-append out "/share/doc")) + (new-doc/mit-scheme-dir + (string-append doc "/share/doc/" ,name "-" ,version))) + (with-directory-excursion "../doc" + (for-each (lambda (target) + (system* "make" target)) + '("install-config" "install-info-gz" "install-man" + "install-html" "install-pdf"))) + (mkdir-p new-doc/mit-scheme-dir) + (copy-recursively + (string-append old-doc-dir "/" ,name "-" ,version) + new-doc/mit-scheme-dir) + (delete-file-recursively old-doc-dir) + #t)))))) + (native-inputs + `(("texlive" ,texlive) + ("texinfo" ,texinfo) + ("m4" ,m4))) (inputs - `(("texinfo" ,texinfo) - ("m4" ,m4) - ("libx11" ,libx11) + `(("libx11" ,libx11) ("source" |