mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 05:48:07 -05:00
gnu: Add scm.
* gnu/packages/scheme.scm (scm): New variable.
This commit is contained in:
parent
07ef08a736
commit
8c48d0eb33
1 changed files with 61 additions and 0 deletions
|
@ -882,3 +882,64 @@ (define-public slib
|
||||||
"http://people.csail.mit.edu/jaffer/SLIB_COPYING.txt"
|
"http://people.csail.mit.edu/jaffer/SLIB_COPYING.txt"
|
||||||
"Or see COPYING in the distribution."))))
|
"Or see COPYING in the distribution."))))
|
||||||
|
|
||||||
|
(define-public scm
|
||||||
|
(package
|
||||||
|
(name "scm")
|
||||||
|
(version "5f2")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"http://groups.csail.mit.edu/mac/ftpdir/scm/scm-"
|
||||||
|
version ".zip"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"050ijb51jm1cij9g3r89zl9rawsrikhbb5y8zb7lspb7bsxq5w99"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(replace 'configure
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(zero? (system* "./configure"
|
||||||
|
(string-append "--prefix="
|
||||||
|
(assoc-ref outputs "out"))))))
|
||||||
|
(add-before 'build 'pre-build
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* "Makefile"
|
||||||
|
(("ginstall-info") "install-info"))))
|
||||||
|
(replace 'build
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(setenv "SCHEME_LIBRARY_PATH"
|
||||||
|
(string-append (assoc-ref inputs "slib")
|
||||||
|
"/lib/slib/"))
|
||||||
|
(and
|
||||||
|
(zero? (system* "make" "scmlit" "CC=gcc"))
|
||||||
|
(zero? (system* "make" "all")))))
|
||||||
|
(add-after 'install 'post-install
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(let ((req
|
||||||
|
(string-append (assoc-ref outputs "out")
|
||||||
|
"/lib/scm/require.scm")))
|
||||||
|
(and
|
||||||
|
(delete-file req)
|
||||||
|
(format (open req (logior O_WRONLY O_CREAT))
|
||||||
|
"(define (library-vicinity) ~s)\n"
|
||||||
|
(string-append (assoc-ref inputs "slib")
|
||||||
|
"/lib/slib/"))
|
||||||
|
|
||||||
|
;; We must generate the slibcat file
|
||||||
|
(zero? (system*
|
||||||
|
(string-append
|
||||||
|
(assoc-ref outputs "out")
|
||||||
|
"/bin/scm")
|
||||||
|
"-br" "new-catalog")))))))))
|
||||||
|
(inputs `(("slib" ,slib)))
|
||||||
|
(native-inputs `(("unzip" ,unzip)
|
||||||
|
("texinfo" ,texinfo)))
|
||||||
|
(home-page "http://people.csail.mit.edu/jaffer/SCM")
|
||||||
|
(synopsis "Scheme implementation conforming to R5RS and IEEE P1178")
|
||||||
|
(description "GNU SCM is an implementation of Scheme. This
|
||||||
|
implementation includes Hobbit, a Scheme-to-C compiler, which can
|
||||||
|
generate C files whose binaries can be dynamically or statically
|
||||||
|
linked with a SCM executable.")
|
||||||
|
(license lgpl3+)))
|
||||||
|
|
Loading…
Reference in a new issue