gnu: Remove scmutils.

Fixes <https://bugs.gnu.org/34203>.

* gnu/packages/scheme.scm (scmutils): Remove variable.
This commit is contained in:
Ricardo Wurmus 2019-04-29 17:19:07 +02:00
parent 373a2a0797
commit 4267481a4e
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -620,178 +620,6 @@ (define-public chibi-scheme
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