summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Kennedy <mkennedy@gentoo.org>2005-07-25 06:40:46 +0000
committerMatthew Kennedy <mkennedy@gentoo.org>2005-07-25 06:40:46 +0000
commit7adaff5359f873b5f6267bdf69a7d1d060be9a98 (patch)
tree1822c20b9353a8565c4406e1d15d4dcec92b3c32 /dev-lisp/cmucl
parent. (diff)
downloadgentoo-2-7adaff5359f873b5f6267bdf69a7d1d060be9a98.tar.gz
gentoo-2-7adaff5359f873b5f6267bdf69a7d1d060be9a98.tar.bz2
gentoo-2-7adaff5359f873b5f6267bdf69a7d1d060be9a98.zip
.
(Portage version: 2.0.51.22-r1)
Diffstat (limited to 'dev-lisp/cmucl')
-rw-r--r--dev-lisp/cmucl/ChangeLog10
-rw-r--r--dev-lisp/cmucl/Manifest7
-rw-r--r--dev-lisp/cmucl/cmucl-19b.ebuild162
-rw-r--r--dev-lisp/cmucl/files/19b/README.Gentoo31
-rw-r--r--dev-lisp/cmucl/files/19b/cmucl.sh95
-rw-r--r--dev-lisp/cmucl/files/19b/herald-save.lisp-gentoo.patch19
-rw-r--r--dev-lisp/cmucl/files/19b/install-clc.lisp55
-rw-r--r--dev-lisp/cmucl/files/19b/site-init.lisp.in58
-rw-r--r--dev-lisp/cmucl/files/digest-cmucl-19b3
9 files changed, 439 insertions, 1 deletions
diff --git a/dev-lisp/cmucl/ChangeLog b/dev-lisp/cmucl/ChangeLog
index fca7ad9ef355..4e0b9b2b2440 100644
--- a/dev-lisp/cmucl/ChangeLog
+++ b/dev-lisp/cmucl/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-lisp/cmucl
# Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lisp/cmucl/ChangeLog,v 1.16 2005/04/15 19:27:16 mkennedy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/cmucl/ChangeLog,v 1.17 2005/07/25 06:38:55 mkennedy Exp $
+
+*cmucl-19b (25 Jul 2005)
+
+ 25 Jul 2005; Matthew Kennedy <mkennedy@gentoo.org>
+ +files/19b/README.Gentoo, +files/19b/cmucl.sh,
+ +files/19b/herald-save.lisp-gentoo.patch, +files/19b/install-clc.lisp,
+ +files/19b/site-init.lisp.in, +cmucl-19b.ebuild:
+ New upstream version.
15 Apr 2005; Matthew Kennedy <mkennedy@gentoo.org> -cmucl-18e.ebuild,
-cmucl-18e-r1.ebuild, -cmucl-18e-r2.ebuild, -cmucl-18e-r3.ebuild,
diff --git a/dev-lisp/cmucl/Manifest b/dev-lisp/cmucl/Manifest
index 1b33f4b46f9b..e58036daca66 100644
--- a/dev-lisp/cmucl/Manifest
+++ b/dev-lisp/cmucl/Manifest
@@ -1,7 +1,9 @@
MD5 e4723f94d0a9a67a618442d568bcf91a ChangeLog 2834
+MD5 120fb6f6b9a272668dd9df8ebfdbc449 cmucl-19b.ebuild 4837
MD5 f900b54b1910b1b6889db5be972e30a1 cmucl-18e-r4.ebuild 2947
MD5 04e7b9338f8791a730a97679c904964a cmucl-19a-r1.ebuild 4669
MD5 929688a2167434e2a4f0169de47e7428 metadata.xml 1107
+MD5 a7972648eda13df8cec3a330f29a45b9 files/digest-cmucl-19b 239
MD5 df309c5d109052b9c57d79bb4aac5871 files/digest-cmucl-18e-r4 137
MD5 6d03d3afa9c49f60a0aaa0e71597cfba files/digest-cmucl-19a-r1 240
MD5 997a2bfdcd98bc978f6c3b79ba8f2264 files/18e/README.Gentoo 848
@@ -13,3 +15,8 @@ MD5 14ccb382eaa0a2c94834328a413cc906 files/19a/cmucl.sh 2701
MD5 03cd0504ac8f5c50f17bf31d6d9d3293 files/19a/herald-save.lisp-gentoo.patch 891
MD5 b23a0a0d355d92b1a2123de8acd61418 files/19a/install-clc.lisp 1749
MD5 190f38f6f6f33f3e1ceee848d2583573 files/19a/site-init.lisp.in 1935
+MD5 997a2bfdcd98bc978f6c3b79ba8f2264 files/19b/README.Gentoo 848
+MD5 14ccb382eaa0a2c94834328a413cc906 files/19b/cmucl.sh 2701
+MD5 4db43f75da9d79658837b4ce0e7be3bb files/19b/herald-save.lisp-gentoo.patch 831
+MD5 b23a0a0d355d92b1a2123de8acd61418 files/19b/install-clc.lisp 1749
+MD5 190f38f6f6f33f3e1ceee848d2583573 files/19b/site-init.lisp.in 1935
diff --git a/dev-lisp/cmucl/cmucl-19b.ebuild b/dev-lisp/cmucl/cmucl-19b.ebuild
new file mode 100644
index 000000000000..a4809afa14e4
--- /dev/null
+++ b/dev-lisp/cmucl/cmucl-19b.ebuild
@@ -0,0 +1,162 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/cmucl/cmucl-19b.ebuild,v 1.1 2005/07/25 06:38:55 mkennedy Exp $
+
+inherit common-lisp-common-2 eutils toolchain-funcs
+
+DEB_PV=4
+MY_PV=${PV}-release-20050628
+
+DESCRIPTION="CMU Common Lisp is an implementation of ANSI Common Lisp"
+HOMEPAGE="http://www.cons.org/cmucl/
+ http://packages.debian.org/unstable/devel/cmucl.html"
+SRC_URI="http://ftp.debian.org/debian/pool/main/c/cmucl/cmucl_${MY_PV}.orig.tar.gz
+ http://ftp.debian.org/debian/pool/main/c/cmucl/cmucl_${MY_PV}-${DEB_PV}.diff.gz
+ ftp://ftp.common-lisp.net/pub/project/cmucl/release/${PV}/${P}-x86-linux.tar.bz2"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE="doc lesstif nosource"
+
+DEPEND="=dev-lisp/common-lisp-controller-4*
+ doc? ( virtual/tetex )
+ lesstif? ( x11-libs/lesstif )
+ !lesstif? ( x11-libs/openmotif )"
+
+PROVIDE="virtual/commonlisp"
+
+S=${WORKDIR}/cmucl-${MY_PV}.orig
+
+src_unpack() {
+ unpack ${A}
+ epatch cmucl_${MY_PV}-${DEB_PV}.diff || die
+ epatch ${FILESDIR}/${PV}/herald-save.lisp-gentoo.patch || die
+
+ find ${S} -type f \( -name \*.sh -o -name linux-nm \) \
+ -exec chmod +x '{}' \;
+}
+
+src_compile() {
+ # non-x86 maintainers, add to the the following and verify
+
+ if use lesstif || test -d /usr/X11R6/include/lesstif; then
+ sed -i -e 's,-I/usr/X11R6/include,-I/usr/X11R6/include/lesstif,g' \
+ -e 's,-L/usr/X11R6/lib,-L/usr/X11R6/lib/lesstif -L/usr/X11R6/lib,g' \
+ src/motif/server/Config.x86
+ fi
+
+ sed -i -e "s,CC = .*,CC = $(tc-getCC),g" \
+ src/lisp/Config.linux_gencgc
+
+ PATH=${WORKDIR}/bin:$PATH CMUCLCORE=${WORKDIR}/lib/cmucl/lib/lisp.core make || die
+
+ if use doc; then
+ make -C src/docs
+ fi
+}
+
+src_install() {
+ insinto /usr/lib/cmucl/include
+ doins src/lisp/*.h target/lisp/*.h target/lisp/*.map target/lisp/*.nm
+ insinto /usr/lib/cmucl
+ cp target/lisp/lisp.core lisp-dist.core
+ doins lisp-dist.core
+
+ dodoc target/lisp/lisp.{nm,map}
+ doman src/general-info/{cmucl,lisp}.1
+
+ dobin target/lisp/lisp
+ dobin own-work/Demos/lisp-start
+
+ insinto /usr/lib/cmucl
+ doins own-work/install-clc.lisp
+ exeinto /usr/lib/common-lisp/bin
+ newexe own-work/cmucl-script.sh cmucl.sh
+
+ insinto /etc/common-lisp/cmucl
+ sed "s,@PF@,${PF},g" <${FILESDIR}/${PV}/site-init.lisp.in >site-init.lisp
+ doins site-init.lisp
+ dosym /etc/common-lisp/cmucl/site-init.lisp /usr/lib/cmucl/site-init.lisp
+
+ dodir /etc/env.d
+ cat >${D}/etc/env.d/50cmucl <<EOF
+# CMUCLLIB=/usr/lib/cmucl
+EOF
+ [ -f /etc/lisp-config.lisp ] || touch ${D}/etc/lisp-config.lisp
+
+ insinto /usr/share/doc/${P}/html/Basic-tutorial
+ doins own-work/tutorials/Basic-tutorial/*
+ insinto /usr/share/doc/${P}/html/Clos
+ doins own-work/tutorials/Clos/*
+ docinto notes
+ dodoc own-work/tutorials/notes/*
+
+ insinto /usr/lib/cmucl
+ doins own-work/hemlock11.*
+
+ if use doc; then
+ dodoc src/docs/*/*.{ps,pdf}
+ fi
+
+ exeinto /usr/lib/cmucl
+ doexe target/motif/server/motifd
+ insinto /usr/lib/cmucl/subsystems/
+ doins target/interface/clm-library.x86f
+
+ # Previously installed from dev-lisp/cmucl-source
+
+ if ! use nosource; then
+ dodir /usr/share/common-lisp/source/cmucl
+ (cd src ; find . -name \*.lisp -and -type f | tar --create --file=- --files-from=- ) |\
+ tar --extract --file=- -C ${D}/usr/share/common-lisp/source/cmucl
+ dodir /usr/share/common-lisp/systems
+ fi
+
+ # cmucl-graystream
+
+ insinto /usr/share/common-lisp/source/cmucl-graystream
+ doins src/pcl/gray-streams* own-work/cmucl-graystream.asd
+ dosym /usr/share/common-lisp/source/cmucl-graystream/cmucl-graystream.asd \
+ /usr/share/common-lisp/systems/
+
+ # CMUCL-CLX
+ insinto /usr/share/common-lisp/source/cmucl-clx
+ cp -r src/clx/*.lisp own-work/cmucl-clx.asd \
+ src/code/clx-ext.lisp \
+ src/hemlock/charmacs.lisp \
+ src/hemlock/key-event.lisp \
+ src/hemlock/keysym-defs.lisp \
+ ${D}/usr/share/common-lisp/source/cmucl-clx
+ insinto /usr/share/common-lisp/source/cmucl-clx/debug
+ doins src/clx/debug/*.lisp
+ insinto /usr/share/common-lisp/source/cmucl-clx/demo
+ doins src/clx/demo/*.lisp
+ insinto /usr/share/common-lisp/source/cmucl-clx/test
+ doins src/clx/test/*.lisp
+# find ${D}/usr/share/common-lisp/source/cmucl-clx -type f -print0 | xargs -0 chmod 644
+# find ${D}/usr/share/common-lisp/source/cmucl-clx -type d -print0 | xargs -0 chmod 755
+ dosym /usr/share/common-lisp/source/cmucl-clx/cmucl-clx.asd \
+ /usr/share/common-lisp/systems/
+
+ keepdir /usr/lib/common-lisp/cmucl
+ impl-save-timestamp-hack cmucl || die
+}
+
+pkg_postinst() {
+ standard-impl-postinst cmucl
+ register-common-lisp-source cmucl-graystream
+ register-common-lisp-source cmucl-clx
+}
+
+pkg_prerm() {
+ standard-impl-postrm cmucl /usr/bin/lisp
+ unregister-common-lisp-source cmucl-graystream
+ unregister-common-lisp-source cmucl-clx
+}
+
+pkg_postrm() {
+ if [ ! -x /usr/bin/lisp ]; then
+ rm -rf /usr/lib/cmucl/ || die
+ fi
+}
diff --git a/dev-lisp/cmucl/files/19b/README.Gentoo b/dev-lisp/cmucl/files/19b/README.Gentoo
new file mode 100644
index 000000000000..885807587fb5
--- /dev/null
+++ b/dev-lisp/cmucl/files/19b/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/19b/cmucl.sh b/dev-lisp/cmucl/files/19b/cmucl.sh
new file mode 100644
index 000000000000..16772da268f0
--- /dev/null
+++ b/dev-lisp/cmucl/files/19b/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/19b/herald-save.lisp-gentoo.patch b/dev-lisp/cmucl/files/19b/herald-save.lisp-gentoo.patch
new file mode 100644
index 000000000000..0981115c6dfc
--- /dev/null
+++ b/dev-lisp/cmucl/files/19b/herald-save.lisp-gentoo.patch
@@ -0,0 +1,19 @@
+diff -ur cmucl-19a-release-20040728.orig.orig/src/code/save.lisp cmucl-19b-release-20050628.orig/src/code/save.lisp
+--- cmucl-19b-release-20050628.orig.orig/src/code/save.lisp 2004-06-29 16:24:46.000000000 -0500
++++ cmucl-19b-release-20050628.orig/src/code/save.lisp 2004-08-03 11:18:05.286348696 -0500
+@@ -289,11 +289,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/19b/install-clc.lisp b/dev-lisp/cmucl/files/19b/install-clc.lisp
new file mode 100644
index 000000000000..23642b16ffee
--- /dev/null
+++ b/dev-lisp/cmucl/files/19b/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/19b/site-init.lisp.in b/dev-lisp/cmucl/files/19b/site-init.lisp.in
new file mode 100644
index 000000000000..ad145414ca43
--- /dev/null
+++ b/dev-lisp/cmucl/files/19b/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-19b b/dev-lisp/cmucl/files/digest-cmucl-19b
new file mode 100644
index 000000000000..fbc9bac73972
--- /dev/null
+++ b/dev-lisp/cmucl/files/digest-cmucl-19b
@@ -0,0 +1,3 @@
+MD5 363a959fd8080ecabc8372463d485134 cmucl_19b-release-20050628.orig.tar.gz 4644271
+MD5 b1b1ef79c04bf4e8b00c5f2e4dd4af9f cmucl_19b-release-20050628-4.diff.gz 1504059
+MD5 ccdc295e51e3c3a1531f2ef945fdc029 cmucl-19b-x86-linux.tar.bz2 7289196