gnu: Remove scmutils.
Fixes <https://bugs.gnu.org/34203>. * gnu/packages/scheme.scm (scmutils): Remove variable.master
parent
373a2a0797
commit
4267481a4e
|
@ -620,178 +620,6 @@ an isolated heap allowing multiple VMs to run simultaneously in different OS
|
|||
threads.")
|
||||
(license bsd-3)))
|
||||
|
||||
(define-public scmutils
|
||||
(let ()
|
||||
(define (system-suffix)
|
||||
(cond
|
||||
((string-prefix? "x86_64" (or (%current-target-system)
|
||||
(%current-system)))
|
||||
"x86-64")
|
||||
(else "i386")))
|
||||
|
||||
(package
|
||||
(name "scmutils")
|
||||
(version "20160827")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch/tarbomb)
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
;; Remove binary code
|
||||
(delete-file-recursively "scmutils/mit-scheme")
|
||||
#t))
|
||||
(uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/6946"
|
||||
"/scmutils-tarballs/" name "-" version
|
||||
"-x86-64-gnu-linux.tar.gz"))
|
||||
(sha256
|
||||
(base32 "00ly5m0s4dy5kxravjaqlpii5zcnr6b9nqm0607lr7xcs52i4j8b"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("mit-scheme" ,mit-scheme)
|
||||
("emacs" ,emacs-minimal)))
|
||||
(arguments
|
||||
`(#:tests? #f ;; no tests-suite
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(guix build emacs-utils))
|
||||
#:imported-modules (,@%gnu-build-system-modules
|
||||
(guix build emacs-utils))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
;; No standard build procedure is used. We set the correct
|
||||
;; runtime path in the custom build system.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; Required to find .bci files at runtime.
|
||||
(with-directory-excursion "scmutils"
|
||||
(rename-file "src" "scmutils"))
|
||||
(substitute* "scmutils/scmutils/load.scm"
|
||||
(("/usr/local/scmutils/")
|
||||
(string-append out "/lib/mit-scheme-"
|
||||
,(system-suffix) "/")))
|
||||
#t)))
|
||||
(replace 'build
|
||||
;; Compile the code and build a band.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(make-img (string-append
|
||||
"echo '(load \"load\") "
|
||||
"(disk-save \"edwin-mechanics.com\")'"
|
||||
"| mit-scheme")))
|
||||
(with-directory-excursion "scmutils/scmutils"
|
||||
(and (zero? (system "mit-scheme < compile.scm"))
|
||||
(zero? (system make-img))))
|
||||
#t)))
|
||||
(add-before 'install 'fix-directory-names
|
||||
;; Correct directory names in the startup script.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(scm-root (assoc-ref inputs "mit-scheme")))
|
||||
(substitute* "bin/mechanics"
|
||||
(("ROOT=\"\\$\\{SCMUTILS_ROOT:-/.*\\}\"")
|
||||
(string-append
|
||||
"ROOT=\"${SCMUTILS_ROOT:-" scm-root "}\"\n"
|
||||
"LIB=\"${ROOT}/lib/mit-scheme-"
|
||||
,(system-suffix) ":"
|
||||
out "/lib/mit-scheme-" ,(system-suffix) "\""))
|
||||
(("EDWIN_INFO_DIRECTORY=.*\n") "")
|
||||
(("SCHEME=.*\n")
|
||||
(string-append "SCHEME=\"${ROOT}/bin/scheme "
|
||||
"--library ${LIB}\"\n"))
|
||||
(("export EDWIN_INFO_DIRECTORY") ""))
|
||||
#t)))
|
||||
(add-before 'install 'emacs-tags
|
||||
;; Generate Emacs's tags for easy reference to source
|
||||
;; code.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(with-directory-excursion "scmutils/scmutils"
|
||||
(apply invoke "etags" (find-files "." "\\.scm")))
|
||||
#t))
|
||||
(replace 'install
|
||||
;; Copy files to the store.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(define* (copy-files-to-directory files dir
|
||||
#:optional (delete? #f))
|
||||
(for-each (lambda (f)
|
||||
(copy-file f (string-append dir "/" f))
|
||||
(when delete? (delete-file f)))
|
||||
files))
|
||||
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(doc (string-append out "/share/doc/"
|
||||
,name "-" ,version))
|
||||
(lib (string-append out "/lib/mit-scheme-"
|
||||
,(system-suffix)
|
||||
"/scmutils")))
|
||||
(for-each mkdir-p (list lib doc bin))
|
||||
(with-directory-excursion "scmutils/scmutils"
|
||||
(copy-files-to-directory '("COPYING" "LICENSE")
|
||||
doc #t)
|
||||
(for-each delete-file (find-files "." "\\.bin"))
|
||||
(copy-files-to-directory '("edwin-mechanics.com")
|
||||
(string-append lib "/..") #t)
|
||||
(copy-recursively "." lib))
|
||||
(with-directory-excursion "bin"
|
||||
(copy-files-to-directory (find-files ".") bin))
|
||||
(with-directory-excursion "scmutils/manual"
|
||||
(copy-files-to-directory (find-files ".") doc))
|
||||
#t)))
|
||||
(add-after 'install 'emacs-helpers
|
||||
;; Add convenience Emacs commands to easily load the
|
||||
;; Scmutils band in an MIT-Scheme buffer inside of Emacs
|
||||
;; and to easily load code tags.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(mit-root (assoc-ref inputs "mit-scheme"))
|
||||
(emacs-lisp-dir
|
||||
(string-append out "/share/emacs/site-lisp"
|
||||
"/guix.d/" ,name "-" ,version))
|
||||
(el-file (string-append emacs-lisp-dir
|
||||
"/scmutils.el"))
|
||||
(lib-relative-path
|
||||
(string-append "/lib/mit-scheme-"
|
||||
,(system-suffix))))
|
||||
(mkdir-p emacs-lisp-dir)
|
||||
(call-with-output-file el-file
|
||||
(lambda (p)
|
||||
(format p
|
||||
";;;###autoload
|
||||
(defun scmutils-load ()
|
||||
(interactive)
|
||||
(require 'xscheme)
|
||||
(let ((mit-root \"~a\")
|
||||
(scmutils \"~a\"))
|
||||
(run-scheme
|
||||
(concat mit-root \"/bin/scheme --library \"
|
||||
mit-root \"~a:\" scmutils \"~a\"
|
||||
\" --band edwin-mechanics.com\"
|
||||
\" --emacs\"))))
|
||||
|
||||
;;;###autoload
|
||||
(defun scmutils-load-tags ()
|
||||
(interactive)
|
||||
(let ((scmutils \"~a\"))
|
||||
(visit-tags-table (concat scmutils \"/TAGS\"))))
|
||||
"
|
||||
mit-root out
|
||||
lib-relative-path
|
||||
lib-relative-path
|
||||
(string-append out lib-relative-path
|
||||
"/scmutils"))))
|
||||
(emacs-generate-autoloads ,name emacs-lisp-dir)
|
||||
(emacs-byte-compile-directory emacs-lisp-dir)
|
||||
#t))))))
|
||||
(home-page
|
||||
"http://groups.csail.mit.edu/mac/users/gjs/6946/linux-install.htm")
|
||||
(synopsis "Scmutils library for MIT Scheme")
|
||||
(description "The Scmutils system is an integrated library of
|
||||
procedures, embedded in the programming language Scheme, and intended to
|
||||
support teaching and research in mathematical physics and electrical
|
||||
engineering.")
|
||||
(license gpl2+))))
|
||||
|
||||
(define-public sicp
|
||||
(let ((commit "225c172f9b859902a64a3c5dd5e1f9ac1a7382de"))
|
||||
(package
|
||||
|
|
Reference in New Issue