diff options
Diffstat (limited to 'dev-lisp/cmucl/files')
-rw-r--r-- | dev-lisp/cmucl/files/19c/README.Gentoo | 31 | ||||
-rw-r--r-- | dev-lisp/cmucl/files/19c/cmucl.sh | 95 | ||||
-rw-r--r-- | dev-lisp/cmucl/files/19c/herald-save.lisp-gentoo.patch | 18 | ||||
-rw-r--r-- | dev-lisp/cmucl/files/19c/install-clc.lisp | 55 | ||||
-rw-r--r-- | dev-lisp/cmucl/files/19c/site-init.lisp.in | 58 | ||||
-rw-r--r-- | dev-lisp/cmucl/files/digest-cmucl-19c | 3 |
6 files changed, 260 insertions, 0 deletions
diff --git a/dev-lisp/cmucl/files/19c/README.Gentoo b/dev-lisp/cmucl/files/19c/README.Gentoo new file mode 100644 index 000000000000..885807587fb5 --- /dev/null +++ b/dev-lisp/cmucl/files/19c/README.Gentoo @@ -0,0 +1,31 @@ + +* README.Gentoo -- Gentoo Specific Notes for dev-lisp/cmucl + +** About dev-lisp/cmucl + +The dev-lisp/cmucl ebuild in portage aim to provide a port of +Debian's package of CMUCL. Thus the Gentoo CMUCL port should be +binary compatible with the Debian port. + +** Linux Miscellaneous Binary Support + +You can have your compiled Lisp .x86f files automatically executed +like any other binary by executing the following command: + + echo ':lisp:E::x86f::/usr/bin/lisp-start:' \ + >/proc/sys/fs/binfmt_misc/register + +Note: you need kernel support for this. A good place to put the +above command is in your /etc/conf.d/localstart. + +** Credit + +This Gentoo package, like many other Gentoo packages in the dev-lisp +category, benifit from the Debian Project's work. + + -- Matthew Kennedy <mkennedy@gentoo.org> + + +Local Variables: *** +mode: outline *** +End: *** diff --git a/dev-lisp/cmucl/files/19c/cmucl.sh b/dev-lisp/cmucl/files/19c/cmucl.sh new file mode 100644 index 000000000000..16772da268f0 --- /dev/null +++ b/dev-lisp/cmucl/files/19c/cmucl.sh @@ -0,0 +1,95 @@ +#!/bin/sh + +if [ ! -f /usr/share/common-lisp/source/common-lisp-controller/common-lisp-controller.lisp ] ; then + cat <<EOF +$0: cannot find the common-lisp-controller source. +EOF + exit 0 +fi + +IMAGE=/usr/lib/cmucl/lisp.core +DIR=cmucl + +case $1 in + rebuild) + echo $0 rebuilding... + shift + while [ ! -z "$1" ] ; do + echo rebuilding $1 + /usr/bin/lisp -core $IMAGE -eval " +(let ((*gc-verbose* nil) + (*compile-print* nil) + (*compile-progress* nil) + (*compile-verbose* nil) + (*require-verbose* nil) + (*load-verbose* nil)) + (load \"/etc/common-lisp/cmucl/site-init.lisp\")) +(let ((*gc-verbose* nil) + (*compile-print* t) + (*compile-progress* nil) + (*compile-verbose* t) + (*require-verbose* t) + (*load-verbose* t) + (mk::*load-source-if-no-binary* nil) + (mk::*bother-user-if-no-binary* nil) + (mk::*compile-during-load* t)) + + (handler-case + (progn + (with-compilation-unit (:optimize '((inhibit-warnings 3))) + (common-lisp-controller:compile-library :$1)) + (unix:unix-exit 0)) + (error (e) + (ignore-errors (format t \"~&Built Error: ~A~%\" e)) + (finish-output) + (unix:unix-exit 1)))))" -nositeinit -noinit -batch -quiet || exit 1 + shift + done + ;; + remove) + echo $0 removing packages... + shift + while [ ! -z "$1" ] ; do + rm -rf "/usr/lib/common-lisp/$DIR/$1" + shift + done + rmdir /usr/lib/common-lisp/$DIR 2> /dev/null + ;; + install-defsystem|install-clc) + echo installing the clc... + ( cd /usr/lib/cmucl + [ -f $IMAGE ] && rm -f $IMAGE + /usr/bin/lisp \ + -core ${IMAGE%.core}-dist.core -load /usr/lib/cmucl/install-clc.lisp \ + -nositeinit -noinit -batch -quiet && \ + mv new-lisp.core $IMAGE || (echo FAILED ; ln ${IMAGE%.core}-dist.core $IMAGE ) ) + ;; + remove-defsystem|remove-clc) + [ -f $IMAGE ] && rm -f $IMAGE + ;; + make-user-image) + if [ ! -f $1 ] ; then + echo Cannot find file $1 to load and dump! + exit 321 + fi + /usr/bin/lisp -core $IMAGE -eval " +(load \"$1\") + ;; + ;; Enable the garbage collector. But first fake it into thinking that + ;; we don't need to garbage collect. The save-lisp is going to call + ;; purify so any garbage will be collected then. +#-gengc (setf lisp::*need-to-collect-garbage* nil) +(gc-on) + ;; + ;; Save the lisp. +(setf ext:*batch-mode* nil) +(save-lisp #p\"home:lisp.core\")" -nositeinit -noinit -batch -quiet && echo New image created + ;; + *) + echo $0 unkown command $1 + echo known commands: install-clc, remove-clc,rebuild and remove + exit 1 + ;; +esac + +exit 0 diff --git a/dev-lisp/cmucl/files/19c/herald-save.lisp-gentoo.patch b/dev-lisp/cmucl/files/19c/herald-save.lisp-gentoo.patch new file mode 100644 index 000000000000..adecda7f3e4f --- /dev/null +++ b/dev-lisp/cmucl/files/19c/herald-save.lisp-gentoo.patch @@ -0,0 +1,18 @@ +diff -ur cmucl-19c-release-20051115.orig.orig/src/code/save.lisp cmucl-19c-release-20051115.orig/src/code/save.lisp +--- cmucl-19c-release-20051115.orig.orig/src/code/save.lisp 2005-12-07 12:27:38.000000000 -0600 ++++ cmucl-19c-release-20051115.orig/src/code/save.lisp 2005-12-07 12:29:30.000000000 -0600 +@@ -297,11 +297,9 @@ + )) + + (setf (getf *herald-items* :bugs) +- '("For support see http://www.cons.org/cmucl/support.html Send bug reports to the debian BTS." +- terpri +- "or to " +- "pvaneynd@debian.org" terpri +- "type (help) for help, (quit) to exit, and (demo) to see the demos" terpri ++ '("For support see http://www.cons.org/cmucl/support.html" terpri ++ "Send bug reports to http://bugs.gentoo.org" terpri ++ "Type (help) for help or (quit) to exit." terpri + terpri + "Loaded subsystems:")) + diff --git a/dev-lisp/cmucl/files/19c/install-clc.lisp b/dev-lisp/cmucl/files/19c/install-clc.lisp new file mode 100644 index 000000000000..23642b16ffee --- /dev/null +++ b/dev-lisp/cmucl/files/19c/install-clc.lisp @@ -0,0 +1,55 @@ +;;; -*- Mode: LISP; Package: CL-USER -*- +;;; +;;; Copyright Peter Van Eynde, 2001 +;;; +;;; License: LGPL v2 +;;; +(in-package "COMMON-LISP-USER") + +(unless (ignore-errors + (load "/usr/share/common-lisp/source/common-lisp-controller/common-lisp-controller.lisp")) + (unix:unix-exit 1)) + +;; (unless (ignore-errors + (common-lisp-controller:init-common-lisp-controller + "/usr/lib/common-lisp/cmucl/" + :version 3) +;; t) +;; (format t "~%Error during init of common-lisp-controller~%") +;; (unix:unix-exit 1)) + +(in-package :common-lisp-controller) + +(defun send-clc-command (command package) + (let ((process + (ext:run-program "/usr/bin/clc-send-command" + (list + (ecase command + (:recompile "recompile") + (:remove "remove")) + (format nil "~A" package) + "cmucl" + "--quiet") + :wait t))) + (if (= (ext:process-exit-code process) + 0) + ;; no error + (values) + (error "An error happend during ~A of ~A for ~A~%Please see /usr/share/doc/common-lisp-controller/REPORTING-BUGS.gz" + (ecase command + (:recompile "recompilation") + (:remove "removal")) + package + "cmucl")))) + +(in-package "COMMON-LISP-USER") + +(unless (ignore-errors + ;; it loaded, configure it for common-lisp-controller use: + (format t "~%Saving to new-lisp.core...") + (ext:gc :full t) + (setf ext:*batch-mode* nil) + (ext:save-lisp "new-lisp.core" + :purify t)) + (unix:unix-exit 1)) + diff --git a/dev-lisp/cmucl/files/19c/site-init.lisp.in b/dev-lisp/cmucl/files/19c/site-init.lisp.in new file mode 100644 index 000000000000..ad145414ca43 --- /dev/null +++ b/dev-lisp/cmucl/files/19c/site-init.lisp.in @@ -0,0 +1,58 @@ +;;; -*- Mode: Lisp; Package: System -*- +;;; +;;; ********************************************************************** +;;; This code was written as part of the CMU Common Lisp project at +;;; Carnegie Mellon University, and has been placed in the public domain. +;;; + +;;; Heavy modifications by Peter Van Eynde + +;;; More modifications for Gentoo by Matthew Kennedy +;;; <mkennedy@gentoo.org> + +(in-package "SYSTEM") + +(if (probe-file "/etc/lisp-config.lisp") + (load "/etc/lisp-config.lisp") + (format t "~%;;; Warning: There is no /etc/lisp-config.lisp file (which should have been created during emerge")) + +;;; If you have sources installed on your system, un-comment the following form +;;; and change it to point to the source location. This will allow the Hemlock +;;; "Edit Definition" command and the debugger to find sources for functions in +;;; the core. +(setf (ext:search-list "target:") + '( + "/usr/share/common-lisp/source/cmucl/" ; object dir + )) + +(setf (ext:search-list "library:") '("/usr/lib/cmucl/")) +;;; for safety... + +;;; optional extentions to the lisp image: delete if you +;;; don't like them :-). +(in-package :common-lisp-user) + +;;; newbie functions, delete if you don't like them + +(defun help () + (format t "~ +Welcome to the Gentoo GNU/Linux port of CMUCL. + +If you aren't running this with ILISP (see: app-emacs/ilisp or +app-xemacs/ilisp) in Emacs, or don't intend to use Hemlock +(see: dev-lisp/cmucl-source) then you deserve to lose. :-) + +The CMUCL REPL does not have GNU Readline-like support, however +you may wish to install rlwap (see: app-misc/rlwrap) to achieve +the same effect. + +If you think you found a bug, please use http://bugs.gentoo.org + +Read the documentation in /usr/share/doc/@PF@. + +(quit) exit Lisp +(describe 'foo) gives information about foo +(inspect '*foo*) interactively inspects *foo* +(apropos \"foo\") briefly describe all symbols which match \"foo\" +")) + diff --git a/dev-lisp/cmucl/files/digest-cmucl-19c b/dev-lisp/cmucl/files/digest-cmucl-19c new file mode 100644 index 000000000000..69707ef18263 --- /dev/null +++ b/dev-lisp/cmucl/files/digest-cmucl-19c @@ -0,0 +1,3 @@ +MD5 04bf7da2a49a309080bf504d0b1e8c28 cmucl-19c-x86-linux.tar.bz2 7305922 +MD5 b36c4da92e315ec6403a52420156fdc6 cmucl_19c-release-20051115-1.diff.gz 1506111 +MD5 9f7d1bae564e50c7b64a2e2cf4ae5f59 cmucl_19c-release-20051115.orig.tar.gz 4654304 |