summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Kennedy <mkennedy@gentoo.org>2004-02-27 22:15:36 +0000
committerMatthew Kennedy <mkennedy@gentoo.org>2004-02-27 22:15:36 +0000
commitb9a363788a0bb5826adeccbd16859e2d41989a74 (patch)
tree7ce11636c11304c8e1eeeaa385aa3ff2a28bcb53 /dev-lisp/sbcl
parentadded ~amd64 keyword (diff)
downloadhistorical-b9a363788a0bb5826adeccbd16859e2d41989a74.tar.gz
historical-b9a363788a0bb5826adeccbd16859e2d41989a74.tar.bz2
historical-b9a363788a0bb5826adeccbd16859e2d41989a74.zip
*** empty log message ***
Diffstat (limited to 'dev-lisp/sbcl')
-rw-r--r--dev-lisp/sbcl/ChangeLog14
-rw-r--r--dev-lisp/sbcl/Manifest22
-rw-r--r--dev-lisp/sbcl/files/0.8.8/README.Gentoo21
-rw-r--r--dev-lisp/sbcl/files/0.8.8/customize-target-features.lisp19
-rw-r--r--dev-lisp/sbcl/files/0.8.8/customize-target-features.lisp.no-threads19
-rw-r--r--dev-lisp/sbcl/files/0.8.8/install-clc.lisp53
-rw-r--r--dev-lisp/sbcl/files/0.8.8/posix-tests.lisp-sandbox-gentoo.patch57
-rw-r--r--dev-lisp/sbcl/files/0.8.8/sbcl-asdf-install.1126
-rw-r--r--dev-lisp/sbcl/files/0.8.8/sbcl-gentoo.patch34
-rw-r--r--dev-lisp/sbcl/files/0.8.8/sbcl.sh80
-rw-r--r--dev-lisp/sbcl/files/digest-sbcl-0.8.86
-rw-r--r--dev-lisp/sbcl/sbcl-0.8.8.ebuild109
12 files changed, 553 insertions, 7 deletions
diff --git a/dev-lisp/sbcl/ChangeLog b/dev-lisp/sbcl/ChangeLog
index 63efe5c7c81c..e62fa9e1c589 100644
--- a/dev-lisp/sbcl/ChangeLog
+++ b/dev-lisp/sbcl/ChangeLog
@@ -1,6 +1,18 @@
# ChangeLog for dev-lisp/sbcl
# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/ChangeLog,v 1.26 2004/01/29 03:54:31 mkennedy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/ChangeLog,v 1.27 2004/02/27 22:15:36 mkennedy Exp $
+
+*sbcl-0.8.8 (27 Feb 2004)
+
+ 27 Feb 2004; <mkennedy@gentoo.org> sbcl-0.8.8.ebuild,
+ files/0.8.8/README.Gentoo, files/0.8.8/customize-target-features.lisp,
+ files/0.8.8/customize-target-features.lisp.no-threads,
+ files/0.8.8/install-clc.lisp,
+ files/0.8.8/posix-tests.lisp-sandbox-gentoo.patch,
+ files/0.8.8/sbcl-asdf-install.1, files/0.8.8/sbcl-gentoo.patch,
+ files/0.8.8/sbcl.sh:
+ New upstream; Move pkg_postinst/pkg_prerm to use the new eclass code; No
+ longer use the Debian package (we keep our own CLC stuff in files now)
*sbcl-0.8.7-r1 (28 Jan 2004)
diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest
index d123836a0ba8..e3da751dd3ed 100644
--- a/dev-lisp/sbcl/Manifest
+++ b/dev-lisp/sbcl/Manifest
@@ -1,15 +1,25 @@
MD5 d18405614de9aad5058c0373a1935cce sbcl-0.8.7-r1.ebuild 4255
+MD5 8bb1bce966061be370255923131a95a2 sbcl-0.8.8.ebuild 3459
+MD5 141aeff5bf9d9e3d8beced995f0b36e1 sbcl-0.8.7.ebuild 4095
MD5 c13f4a07811a44cf696ee97797a2c3ea ChangeLog 5844
MD5 c93195a12a4bb997ca623db927bb6676 metadata.xml 997
-MD5 141aeff5bf9d9e3d8beced995f0b36e1 sbcl-0.8.7.ebuild 4095
MD5 6e40a080b566cc78dfe522ae34eec0a7 files/install-clc.lisp 1338
-MD5 2821ba30af598f01018a43b370010e7c files/sbcl.rc 251
-MD5 149ae58f2a3254c2746b71452292abf2 files/sbcl.sh 2170
+MD5 d4bfc144f303942ff574404fbd2e078d files/digest-sbcl-0.8.7 528
MD5 47993934f65e81900eff345eec6fabe5 files/gc.lisp-linux-2.6.patch 664
MD5 d4bfc144f303942ff574404fbd2e078d files/digest-sbcl-0.8.7-r1 528
-MD5 d4bfc144f303942ff574404fbd2e078d files/digest-sbcl-0.8.7 528
-MD5 24a9e0ee9cf55fc23d01535520f03edc files/0.8.7/install-clc.lisp-gentoo.patch 675
+MD5 149ae58f2a3254c2746b71452292abf2 files/sbcl.sh 2170
+MD5 8f65effa5ebc5a69e7e80277c9fee2ad files/digest-sbcl-0.8.8 467
+MD5 2821ba30af598f01018a43b370010e7c files/sbcl.rc 251
+MD5 6bd69b507b65c1673290970c034a307c files/0.8.7/README.Gentoo 695
MD5 b8407a8b953cc86ccab6b4c9b3148024 files/0.8.7/customize-target-features.lisp.no-threads 557
MD5 62313101e0dfbc6a70bd0a0f9b6c3304 files/0.8.7/customize-target-features.lisp 555
-MD5 6bd69b507b65c1673290970c034a307c files/0.8.7/README.Gentoo 695
+MD5 24a9e0ee9cf55fc23d01535520f03edc files/0.8.7/install-clc.lisp-gentoo.patch 675
MD5 f03239faafd7bab9fb5f858b3cdfdf3b files/0.8.7/posix-tests.lisp-sandbox-gentoo.patch 1860
+MD5 ab7a8d4c4cdc70154ab5aaec9cdacb6d files/0.8.8/install-clc.lisp 1463
+MD5 35e2f72a0d987cbc1e659368ad33827c files/0.8.8/README.Gentoo 696
+MD5 a0edd1aecd1416792590693e5a6d2cb3 files/0.8.8/customize-target-features.lisp.no-threads 577
+MD5 6f05f494b80fa25732a658deec4133c8 files/0.8.8/customize-target-features.lisp 574
+MD5 630e6f165f6d0651342150929af8e506 files/0.8.8/sbcl.sh 2169
+MD5 461a80c3b430b4522f752b6bcf8cbb94 files/0.8.8/sbcl-asdf-install.1 4382
+MD5 f03239faafd7bab9fb5f858b3cdfdf3b files/0.8.8/posix-tests.lisp-sandbox-gentoo.patch 1860
+MD5 caa3d8db6f86703586d56a0546cf7e1a files/0.8.8/sbcl-gentoo.patch 1341
diff --git a/dev-lisp/sbcl/files/0.8.8/README.Gentoo b/dev-lisp/sbcl/files/0.8.8/README.Gentoo
new file mode 100644
index 000000000000..ac3a9fc04732
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.8/README.Gentoo
@@ -0,0 +1,21 @@
+-*- outline -*-
+
+Gentoo GNU/Linux specific notes for SBCL
+----------------------------------------
+
+This is the README.Gentoo file from /usr/share/doc/@PF@/
+directory.
+
+ * The Gentoo port uses patches from the Debian project's SBCL port.
+
+ * An SBCL with support for multi-threading on GNU/Linux for x86 is
+ available with 'USE="threads" emerge dev-lisp/sbcl'
+
+ * asdf-install is installed as sbcl-asdf-install (the man-page is
+ similarly named).
+
+ * Support for the Common Lisp Controller is available.
+
+If you encounter any problems or have suggestions, use
+http://bugs.gentoo.org. Please don't bother the upstream authors
+unless you are absolutely certain it is not Gentoo-related.
diff --git a/dev-lisp/sbcl/files/0.8.8/customize-target-features.lisp b/dev-lisp/sbcl/files/0.8.8/customize-target-features.lisp
new file mode 100644
index 000000000000..7663f4802619
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.8/customize-target-features.lisp
@@ -0,0 +1,19 @@
+;;;; -*- Lisp -*-
+
+;;;; This is the features customization lambda form we will use if the
+;;;; user has "threads" in USE *and* they are building for the x86
+;;;; architecture.
+
+;;;; :sb-futex is dependent on the presence of a Linux 2.6.x kernel.
+;;;; For users of Linux 2.4.x kernels, this is still okay to enable,
+;;;; as SBCL will fall back if the futex system-call is not present.
+
+(lambda (list)
+ (flet ((enable (x)
+ (pushnew x list))
+ (disable (x)
+ (setf list (remove x list))))
+ (enable :sb-thread)
+ (enable :sb-futex)
+ (disable :sb-test))
+ list)
diff --git a/dev-lisp/sbcl/files/0.8.8/customize-target-features.lisp.no-threads b/dev-lisp/sbcl/files/0.8.8/customize-target-features.lisp.no-threads
new file mode 100644
index 000000000000..100d84059509
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.8/customize-target-features.lisp.no-threads
@@ -0,0 +1,19 @@
+;;;; -*- Lisp -*-
+
+;;;; This is the features customization lambda form we will use if the
+;;;; user has "threads" in USE *and* they are building for the x86
+;;;; architecture.
+
+;;;; :sb-futex is dependent on the presence of a Linux 2.6.x kernel.
+;;;; For users of Linux 2.4.x kernels, this is still okay to enable,
+;;;; as SBCL will fall back if the futex system-call is not present.
+
+(lambda (list)
+ (flet ((enable (x)
+ (pushnew x list))
+ (disable (x)
+ (setf list (remove x list))))
+ (disable :sb-thread)
+ (disable :sb-futex)
+ (disable :sb-test))
+ list)
diff --git a/dev-lisp/sbcl/files/0.8.8/install-clc.lisp b/dev-lisp/sbcl/files/0.8.8/install-clc.lisp
new file mode 100644
index 000000000000..2f9a28fcab12
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.8/install-clc.lisp
@@ -0,0 +1,53 @@
+;;; -*- Mode: LISP; Package: CL-USER -*-
+;;;
+;;; Copyright (C) Peter Van Eynde 2001 and Kevin Rosenberg 2002-2003
+;;;
+;;; License: LGPL v2
+;;;
+;;; Some modifications for Gentoo, Matthew Kennedy <mkennedy@gentoo.org>
+;;;
+
+(in-package "COMMON-LISP-USER")
+
+(unless (ignore-errors
+ (load "/usr/share/common-lisp/source/common-lisp-controller/common-lisp-controller.lisp"))
+ (sb-unix:unix-exit 1))
+
+(unless (ignore-errors
+ (common-lisp-controller:init-common-lisp-controller
+ "/usr/lib/common-lisp/sbcl/"
+ :version 3)
+ t)
+ (format t "~%Error during init of common-lisp-controller~%")
+ (sb-unix:unix-exit 1))
+
+(in-package :common-lisp-controller)
+
+(defun send-clc-command (command package)
+ (let ((process
+ (sb-ext:run-program "/usr/bin/clc-send-command"
+ (list
+ (ecase command
+ (:recompile "recompile")
+ (:remove "remove"))
+ (format nil "~A" package)
+ "sbcl"
+ "--quiet")
+ :wait t)))
+ (if (= (sb-ext:process-exit-code process) 0)
+ (values)
+ (error "An error happened during ~A of ~A for ~A~%Please see /usr/share/doc/common-lisp-controller/REPORTING-BUGS.gz"
+ (ecase command
+ (:recompile "recompilation")
+ (:remove "removal"))
+ package
+ "sbcl"))))
+
+(in-package :common-lisp-user)
+
+(ignore-errors
+ (format t "~%Saving to sbcl-new.core...")
+ (sb-ext:gc :full t)
+;(setf ext:*batch-mode* nil)
+ (sb-ext:save-lisp-and-die "sbcl-new.core"
+ :purify t))
diff --git a/dev-lisp/sbcl/files/0.8.8/posix-tests.lisp-sandbox-gentoo.patch b/dev-lisp/sbcl/files/0.8.8/posix-tests.lisp-sandbox-gentoo.patch
new file mode 100644
index 000000000000..5e482a6a4b8a
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.8/posix-tests.lisp-sandbox-gentoo.patch
@@ -0,0 +1,57 @@
+diff -ur sbcl-0.8.7.original/contrib/sb-posix/posix-tests.lisp sbcl-0.8.7/contrib/sb-posix/posix-tests.lisp
+--- sbcl-0.8.7.original/contrib/sb-posix/posix-tests.lisp 2003-11-28 21:50:00.000000000 -0600
++++ sbcl-0.8.7/contrib/sb-posix/posix-tests.lisp 2004-01-10 20:33:11.527976216 -0600
+@@ -76,19 +76,19 @@
+ (sb-posix:syscall-errno c)))
+ #.sb-posix::eexist)
+
+-(deftest mkdir.error.2
+- (handler-case
+- (sb-posix:mkdir "/" 0)
+- (sb-posix:syscall-error (c)
+- (sb-posix:syscall-errno c)))
+- #.sb-posix::eexist)
+-
+-(deftest mkdir.error.3
+- (handler-case
+- (sb-posix:mkdir "/almost-certainly-does-not-exist" 0)
+- (sb-posix:syscall-error (c)
+- (sb-posix:syscall-errno c)))
+- #.sb-posix::eacces)
++;; (deftest mkdir.error.2
++;; (handler-case
++;; (sb-posix:mkdir "/" 0)
++;; (sb-posix:syscall-error (c)
++;; (sb-posix:syscall-errno c)))
++;; #.sb-posix::eexist)
++
++;; (deftest mkdir.error.3
++;; (handler-case
++;; (sb-posix:mkdir "/almost-certainly-does-not-exist" 0)
++;; (sb-posix:syscall-error (c)
++;; (sb-posix:syscall-errno c)))
++;; #.sb-posix::eacces)
+
+ (deftest rmdir.1
+ (let ((dne (make-pathname :directory '(:relative "rmdir.does-not-exist.1"))))
+@@ -117,13 +117,13 @@
+ (sb-posix:syscall-errno c)))
+ #.sb-posix::enotdir)
+
+-#-sunos ; Apparently gives EINVAL on SunOS 8, which doesn't make sense
+-(deftest rmdir.error.3
+- (handler-case
+- (sb-posix:rmdir "/")
+- (sb-posix:syscall-error (c)
+- (sb-posix:syscall-errno c)))
+- #.sb-posix::ebusy)
++;; #-sunos ; Apparently gives EINVAL on SunOS 8, which doesn't make sense
++;; (deftest rmdir.error.3
++;; (handler-case
++;; (sb-posix:rmdir "/")
++;; (sb-posix:syscall-error (c)
++;; (sb-posix:syscall-errno c)))
++;; #.sb-posix::ebusy)
+
+ (deftest rmdir.error.4
+ (let* ((dir (ensure-directories-exist
diff --git a/dev-lisp/sbcl/files/0.8.8/sbcl-asdf-install.1 b/dev-lisp/sbcl/files/0.8.8/sbcl-asdf-install.1
new file mode 100644
index 000000000000..be8f754a6bdc
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.8/sbcl-asdf-install.1
@@ -0,0 +1,126 @@
+.TH SBCL-ASDF-INSTALL 1 "$Date: 2004/02/27 22:15:36 $"
+.AT 3
+.SH NAME
+SBCL-ASDF-INSTALL -- "Download an Install ASDF Systems"
+
+.SH DESCRIPTION
+
+Downloads and installs an ASDF system or anything else that looks
+convincingly like one, including updating the ASDF:*CENTRAL-REGISTRY*
+symlinks for all the toplevel .asd files it contains. Please read
+this file before use: in particular: this is an automatic tool that
+downloads and compiles stuff it finds on the 'net. Please look at the
+SECURITY section and be sure you understand the implications
+
+
+.SH USAGE
+
+This can be used either from within an SBCL instance:
+
+* (require 'asdf-install)
+* (asdf-install:install 'xlunit) ; for example
+
+or standalone from the shell:
+
+$ sbcl-asdf-install xlunit
+
+Each argument may be -
+
+ - The name of a cliki page. asdf-install visits that page and finds
+ the download location from the `:(package)' tag - usually rendered
+ as "Download ASDF package from ..."
+
+ - A URL, which is downloaded directly
+
+ - A local tar.gz file, which is installed
+
+
+.SH SECURITY CONCERNS: READ THIS CAREFULLY
+
+When you invoke asdf-install, you are asking SBCL to download,
+compile, and install software from some random site on the web. Given
+that it's indirected through a page on CLiki, any malicious third party
+doesn't even need to hack the distribution server to replace the
+package with something else: he can just edit the link.
+
+For this reason, we encourage package providers to crypto-sign their
+packages (see details at the URL in the PACKAGE CREATION section) and
+users to check the signatures. asdf-install has three levels of
+automatic signature checking: "on", "off" and "unknown sites", which
+can be set using the configuration variables described in
+CUSTOMIZATION below. The default is "unknown sites", which will
+expect a GPG signature on all downloads except those from
+presumed-good sites. The current default presumed-good sites are
+CCLAN nodes, and two web sites run by SBCL maintainers: again, see
+below for customization details
+
+
+.SH CUSTOMIZATION
+
+If the file $HOME/.asdf-install exists, it is loaded. This can be
+used to override the default values of exported special variables.
+Presently these are
+
+.TP 3
+\--
+*PROXY*
+ defaults to $http_proxy environment variable
+.TP 3
+\-
+*CCLAN-MIRROR*
+ preferred/nearest CCLAN node. See the list at
+http://ww.telent.net/cclan-choose-mirror
+.TP 3
+\-
+*SBCL-HOME*
+ Set from $SBCL_HOME environment variable. This should already be
+correct for whatever SBCL is running, if it's been installed correctly
+.TP 3
+\-
+*VERIFY-GPG-SIGNATURES*
+ Verify GPG signatures for the downloaded packages?
+ NIL - no, T - yes, :UNKNOWN-LOCATIONS - only for URLs which aren't in CCLAN and don't begin with one of the prefixes in *SAFE-URL-PREFIXES*
+.TP 3
+\-
+*LOCATIONS*
+ Possible places in the filesystem to install packages into. See default
+value for format
+.TP 3
+\-
+*SAFE-URL-PREFIXES*
+ List of locations for which GPG signature checking won't be done when
+*verify-gpg-signatures* is :unknown-locations
+
+
+.SH PACKAGE CREATION
+
+If you want to create your own packages that can be installed using this
+loader, see the "Making your package downloadable..." section at
+<http://www.cliki.net/asdf-install>
+
+
+.SH HACKERS NOTE
+
+Listen very carefully: I will say this only as often as it appears to
+be necessary to say it. asdf-install is not a good example of how to
+write a URL parser, HTTP client, or anything else, really.
+Well-written extensible and robust URL parsers, HTTP clients, FTP
+clients, etc would definitely be nice things to have, but it would be
+nicer to have them in CCLAN where anyone can use them - after having
+downloaded them with asdf-install - than in SBCL contrib where they're
+restricted to SBCL users and can only be updated once a month via SBCL
+developers. This is a bootstrap tool, and as such, will tend to
+resist changes that make it longer or dependent on more other
+packages, unless they also add to its usefulness for bootstrapping.
+
+
+.SH TODO
+
+a) gpg signature checking would be better if it actually checked against
+a list of "trusted to write Lisp" keys, instead of just "trusted to be
+who they say they are"
+
+e) nice to have: resume half-done downloads instead of starting from scratch
+every time. but right now we're dealing in fairly small packages, this is not
+an immediate concern
+
diff --git a/dev-lisp/sbcl/files/0.8.8/sbcl-gentoo.patch b/dev-lisp/sbcl/files/0.8.8/sbcl-gentoo.patch
new file mode 100644
index 000000000000..20d25dcd293a
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.8/sbcl-gentoo.patch
@@ -0,0 +1,34 @@
+diff -ur sbcl-0.8.8.original/contrib/sb-posix/posix-tests.lisp sbcl-0.8.8/contrib/sb-posix/posix-tests.lisp
+--- sbcl-0.8.8.original/contrib/sb-posix/posix-tests.lisp 2004-02-07 00:53:29.000000000 -0600
++++ sbcl-0.8.8/contrib/sb-posix/posix-tests.lisp 2004-02-25 14:22:07.426306400 -0600
+@@ -95,7 +95,7 @@
+ (sb-posix:syscall-errno c)))
+ #.sb-posix::eexist)
+
+-(deftest mkdir.error.3
++#+nil (deftest mkdir.error.3
+ (handler-case
+ (sb-posix:mkdir "/almost-certainly-does-not-exist" 0)
+ (sb-posix:syscall-error (c)
+@@ -129,7 +129,7 @@
+ (sb-posix:syscall-errno c)))
+ #.sb-posix::enotdir)
+
+-#-sunos ; Apparently gives EINVAL on SunOS 8, which doesn't make sense
++#+nil
+ (deftest rmdir.error.3
+ (handler-case
+ (sb-posix:rmdir "/")
+Only in sbcl-0.8.8/contrib/sb-posix: posix-tests.lisp.~1.11.~
+diff -ur sbcl-0.8.8.original/src/runtime/GNUmakefile sbcl-0.8.8/src/runtime/GNUmakefile
+--- sbcl-0.8.8.original/src/runtime/GNUmakefile 2004-02-20 01:51:03.000000000 -0600
++++ sbcl-0.8.8/src/runtime/GNUmakefile 2004-02-24 23:18:58.000000000 -0600
+@@ -34,6 +34,7 @@
+ # symlink to Config-foo.
+ include Config
+
++CFLAGS += -DSBCL_HOME='"/usr/lib/sbcl"'
+
+ C_SRCS = alloc.c backtrace.c breakpoint.c coreparse.c \
+ dynbind.c gc-common.c globals.c interr.c interrupt.c \
+Only in sbcl-0.8.8/src/runtime: GNUmakefile.~1.18.~
diff --git a/dev-lisp/sbcl/files/0.8.8/sbcl.sh b/dev-lisp/sbcl/files/0.8.8/sbcl.sh
new file mode 100644
index 000000000000..11d6c298404c
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.8/sbcl.sh
@@ -0,0 +1,80 @@
+#!/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
+
+build_error()
+{
+ echo "Build failure $1"
+ exit 1
+}
+
+case $1 in
+ rebuild)
+ echo $0 rebuilding...
+ shift
+ echo rebuilding $1
+ sbcl --noinform --sysinit /etc/sbcl.rc --userinit /dev/null \
+ --disable-debugger \
+ --eval \
+"(handler-case
+ (progn
+ (c-l-c:compile-library (quote $1))
+ (sb-unix:unix-exit 0))
+ (error (e)
+ (ignore-errors (format t \"~&Build error: ~A~%\" e))
+ (finish-output)
+ (sb-unix:unix-exit 1)))" || build_error
+ ;;
+ remove)
+ echo $0 removing packages...
+ shift
+ while [ ! -z "$1" ] ; do
+ rm -rf "/usr/lib/common-lisp/sbcl/$1"
+ shift
+ done
+ ;;
+ install-defsystem | install-clc)
+ echo $0 loading and dumping clc.
+ ( cd /usr/lib/sbcl
+ sbcl --core /usr/lib/sbcl/sbcl-dist.core \
+ --noinform --sysinit /etc/sbcl.rc --userinit /dev/null \
+ --load "/usr/lib/sbcl/install-clc.lisp" 2> /dev/null
+ mv sbcl-new.core sbcl.core || (echo FAILED ; cp sbcl-dist.core sbcl.core ) )
+ ;;
+ remove-defsystem | remove-clc)
+ echo $0 removing clc-enabled image
+ cp /usr/lib/sbcl/sbcl-dist.core /usr/lib/sbcl/sbcl.core
+ ;;
+ make-user-image)
+ if [ ! -f "$2" ] ; then
+ echo "Trying to make-user image, but can not find file $2" >&2
+ exit 1
+ fi
+ sbcl --core /usr/lib/sbcl/sbcl-dist.core \
+ --noinform --sysinit /dev/null --userinit /dev/null \
+ --eval \
+"(handler-case
+ (progn
+ (load \"$2\")
+ (sb-ext:gc :full t)
+ (sb-ext:save-lisp-and-die \"/usr/lib/sbcl/sbcl-new.core\" :purify t))
+ (sb-unix:unix-exit 0))
+ (error (e)
+ (ignore-errors (format t \"make-user-image error: ~A~%\" e))
+ (finish-output)
+ (sb-unix:unix-exit 1)))"
+ mv sbcl-new.core sbcl.core || (echo FAILED ; cp sbcl-dist.core sbcl.core )
+ ;;
+ *)
+ echo $0 unkown command $1
+ echo known commands: rebuild, remove, make-user-image, install-clc and remove-clc
+ exit 1
+ ;;
+esac
+
+exit 0 \ No newline at end of file
diff --git a/dev-lisp/sbcl/files/digest-sbcl-0.8.8 b/dev-lisp/sbcl/files/digest-sbcl-0.8.8
new file mode 100644
index 000000000000..2762990ae7d9
--- /dev/null
+++ b/dev-lisp/sbcl/files/digest-sbcl-0.8.8
@@ -0,0 +1,6 @@
+MD5 a80d2bb990f80d8d13f947a68ea3c78b sbcl-0.8.8-source.tar.bz2 2082536
+MD5 a62413e2bb759b6683f94839722cd7e2 sbcl-0.8.8-html.tar.bz2 47029
+MD5 6c193e328cdb472787ef78401ee5294c sbcl-0.8.1-x86-linux-binary.tar.bz2 6348098
+MD5 1cbd667b28d6d5afabccc759315eea70 sbcl-0.7.13-binary-linux-ppc.tar.bz2 5339432
+MD5 7cb56cd42b1f5797d26316e79aaccb06 sbcl-0.7.13-sparc-linux-binary.tar.bz2 5670293
+MD5 29ad145f1fc45c65b8d65b39013bc43f sbcl-0.7.10-mips-linux-binary.tar.gz 7473873
diff --git a/dev-lisp/sbcl/sbcl-0.8.8.ebuild b/dev-lisp/sbcl/sbcl-0.8.8.ebuild
new file mode 100644
index 000000000000..6ab82a97d92a
--- /dev/null
+++ b/dev-lisp/sbcl/sbcl-0.8.8.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2004 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/sbcl-0.8.8.ebuild,v 1.1 2004/02/27 22:15:36 mkennedy Exp $
+
+inherit common-lisp-common
+
+DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp."
+HOMEPAGE="http://sbcl.sourceforge.net/"
+IUSE="threads"
+BV_X86=0.8.1
+BV_PPC=0.7.13
+BV_SPARC=0.7.13
+BV_MIPS=0.7.10
+SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
+ mirror://sourceforge/sbcl/${P}-html.tar.bz2
+ x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
+ ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-binary-linux-ppc.tar.bz2 )
+ sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
+ mips? ( mirror://sourceforge/sbcl/${PN}-${BV_MIPS}-mips-linux-binary.tar.gz )"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~x86 ~ppc ~sparc ~mips"
+PROVIDE="virtual/commonlisp"
+DEPEND="dev-lisp/common-lisp-controller"
+
+S=${WORKDIR}/${P}
+
+src_unpack() {
+ if use x86; then
+ unpack ${PN}-${BV_X86}-x86-linux-binary.tar.bz2
+ mv ${PN}-${BV_X86} x86-binary
+ elif use ppc; then
+ unpack ${PN}-${BV_PPC}-ppc-binary-linux.tar.bz2
+ mv ${PN}-${BV_PPC}-ppc-linux ppc-binary
+ elif use sparc; then
+ unpack ${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2
+ echo mv ${PN}-${BV_SPARC} sparc-binary || die
+ mv ${PN}-${BV_SPARC} sparc-binary || die
+ elif use mips; then
+ unpack ${PN}-${BV_SPARC}-mips-linux-binary.tar.gz
+ mv ${PN}-${BV_SPARC}-mips-linux mips-binary
+ fi
+
+ unpack ${P}-source.tar.bz2
+ epatch ${FILESDIR}/${PV}/sbcl-gentoo.patch
+
+ # Currently, thread support is only available for x86. These
+ # features expressions also disable :sb-test.
+ if use x86 && use threads; then
+ cp ${FILESDIR}/${PV}/customize-target-features.lisp \
+ ${S}/customize-target-features.lisp
+ else
+ cp ${FILESDIR}/${PV}/customize-target-features.lisp.no-threads \
+ ${S}/customize-target-features.lisp
+ fi
+}
+
+src_compile() {
+ local bindir
+ use x86 && bindir=../x86-binary
+ use ppc && bindir=../ppc-binary
+ use sparc && bindir=../sparc-binary
+ use mips && bindir=../mips-binary
+ # TODO: allow the user to chose between SBCL, CMUCL and CLISP for bootstrapping
+ # build with previous SBCL
+ PATH=${bindir}/src/runtime:${PATH} SBCL_HOME=${bindir}/output GNUMAKE=make \
+ ./make.sh 'sbcl --sysinit /dev/null --userinit /dev/null --noprogrammer --core ${bindir}/output/sbcl.core'
+ # build with CMUCL
+# GNUMAKE=make ./make.sh 'lisp -batch'
+}
+
+src_install() {
+ unset SBCL_HOME
+
+ insinto /etc/
+ doins ${FILESDIR}/${PV}/sbcl.rc # Gentoo specific (from Debian)
+
+ exeinto /usr/lib/common-lisp/bin
+ doexe ${FILESDIR}/${PV}/sbcl.sh # Gentoo specific (from Debian)
+
+ dodir /usr/share/man
+ INSTALL_ROOT=${D}/usr sh install.sh
+ mv ${D}/usr/lib/sbcl/sbcl.core ${D}/usr/lib/sbcl/sbcl-dist.core
+
+ insinto /usr/lib/sbcl
+ doins ${FILESDIR}/${PV}/install-clc.lisp # Gentoo specific (from Debian)
+
+ doman ${FILESDIR}/${PV}/sbcl-asdf-install.1 # Gentoo specific (from Debian)
+
+ dodoc BUGS COPYING CREDITS INSTALL NEWS OPTIMIZATIONS PRINCIPLES README STYLE SUPPORT TLA TODO
+
+ dodoc ${FILESDIR}/${PV}/README.Gentoo
+ dohtml doc/html/*
+
+ find ${D} -type f -name .cvsignore -exec rm -f '{}' \;
+ find ${D} -type f -name \*.c -exec chmod 644 '{}' \;
+
+ keepdir /usr/lib/common-lisp/sbcl
+
+ impl-save-timestamp-hack sbcl || die
+}
+
+pkg_postinst() {
+ standard-impl-postinst sbcl
+}
+
+pkg_postrm() {
+ standard-impl-postrm sbcl /usr/bin/sbcl
+}