summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Kennedy <mkennedy@gentoo.org>2004-10-05 01:47:01 +0000
committerMatthew Kennedy <mkennedy@gentoo.org>2004-10-05 01:47:01 +0000
commitf5e3df5e845d872060350e2fbff130abb8e16a47 (patch)
treeb7f69438f13ec6bbe3b3ce81484f6e7476fffa9e /dev-lisp
parent (Manifest recommit) (diff)
downloadgentoo-2-f5e3df5e845d872060350e2fbff130abb8e16a47.tar.gz
gentoo-2-f5e3df5e845d872060350e2fbff130abb8e16a47.tar.bz2
gentoo-2-f5e3df5e845d872060350e2fbff130abb8e16a47.zip
*** empty log message ***
Diffstat (limited to 'dev-lisp')
-rw-r--r--dev-lisp/sbcl/ChangeLog5
-rw-r--r--dev-lisp/sbcl/files/0.8.15/README.Gentoo25
-rw-r--r--dev-lisp/sbcl/files/0.8.15/customize-target-features.lisp19
-rw-r--r--dev-lisp/sbcl/files/0.8.15/customize-target-features.lisp.no-threads19
-rw-r--r--dev-lisp/sbcl/files/0.8.15/install-clc.lisp64
-rw-r--r--dev-lisp/sbcl/files/0.8.15/sbcl-gentoo.patch32
-rw-r--r--dev-lisp/sbcl/files/0.8.15/sbcl-no-tests-gentoo.patch56
-rw-r--r--dev-lisp/sbcl/files/0.8.15/sbcl.sh80
-rw-r--r--dev-lisp/sbcl/files/0.8.15/sbclrc18
-rw-r--r--dev-lisp/sbcl/files/digest-sbcl-0.8.156
-rw-r--r--dev-lisp/sbcl/sbcl-0.8.14.ebuild4
-rw-r--r--dev-lisp/sbcl/sbcl-0.8.15.ebuild131
12 files changed, 456 insertions, 3 deletions
diff --git a/dev-lisp/sbcl/ChangeLog b/dev-lisp/sbcl/ChangeLog
index ff3238247573..db5b5aca5118 100644
--- a/dev-lisp/sbcl/ChangeLog
+++ b/dev-lisp/sbcl/ChangeLog
@@ -1,6 +1,9 @@
# ChangeLog for dev-lisp/sbcl
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/ChangeLog,v 1.42 2004/10/05 01:44:19 mkennedy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/ChangeLog,v 1.43 2004/10/05 01:47:01 mkennedy Exp $
+
+ 04 Oct 2004; <mkennedy@gentoo.org> sbcl-0.8.14.ebuild:
+ Marking 0.8.14 for stable x86
*sbcl-0.8.15 (04 Oct 2004)
diff --git a/dev-lisp/sbcl/files/0.8.15/README.Gentoo b/dev-lisp/sbcl/files/0.8.15/README.Gentoo
new file mode 100644
index 000000000000..8f9a278f8072
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.15/README.Gentoo
@@ -0,0 +1,25 @@
+-*- outline -*- $Id: README.Gentoo,v 1.1 2004/10/05 01:44:19 mkennedy Exp $
+
+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 "nosource" is not in your USE flags, then SBCL's source will
+ also be installed (in /usr/lib/sbcl/src). This is handy with
+ ILISP or SLIME's `edit-definition' functions.
+
+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.15/customize-target-features.lisp b/dev-lisp/sbcl/files/0.8.15/customize-target-features.lisp
new file mode 100644
index 000000000000..7663f4802619
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.15/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.15/customize-target-features.lisp.no-threads b/dev-lisp/sbcl/files/0.8.15/customize-target-features.lisp.no-threads
new file mode 100644
index 000000000000..100d84059509
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.15/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.15/install-clc.lisp b/dev-lisp/sbcl/files/0.8.15/install-clc.lisp
new file mode 100644
index 000000000000..98bf4f548b65
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.15/install-clc.lisp
@@ -0,0 +1,64 @@
+;;; -*- 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"
+ (ecase command
+ (:recompile "recompilation")
+ (:remove "removal"))
+ package
+ "sbcl"))))
+
+(in-package :common-lisp-user)
+
+(progn
+ (format t "~%Saving to sbcl-new.core...")
+ (sb-ext:gc :full t)
+ (sb-ext:save-lisp-and-die "sbcl-new.core" :purify t))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dev-lisp/sbcl/files/0.8.15/sbcl-gentoo.patch b/dev-lisp/sbcl/files/0.8.15/sbcl-gentoo.patch
new file mode 100644
index 000000000000..ce11957dd0c5
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.15/sbcl-gentoo.patch
@@ -0,0 +1,32 @@
+diff -ru sbcl-0.8.15.orig/contrib/sb-posix/posix-tests.lisp sbcl-0.8.15/contrib/sb-posix/posix-tests.lisp
+--- sbcl-0.8.15.orig/contrib/sb-posix/posix-tests.lisp 2004-03-15 09:24:53.000000000 -0600
++++ sbcl-0.8.15/contrib/sb-posix/posix-tests.lisp 2004-04-28 14:47:50.179460512 -0500
+@@ -96,7 +96,7 @@
+ (sb-posix:syscall-errno c)))
+ #.sb-posix::eexist)
+
+-(deftest mkdir.error.2
++#+nil (deftest mkdir.error.2
+ (handler-case
+ (sb-posix:mkdir "/" 0)
+ (sb-posix:syscall-error (c)
+@@ -149,7 +149,7 @@
+ (sb-posix:syscall-errno c)))
+ #.sb-posix::enotdir)
+
+-(deftest rmdir.error.3
++#+nil (deftest rmdir.error.3
+ (handler-case
+ (sb-posix:rmdir "/")
+ (sb-posix:syscall-error (c)
+diff -ru sbcl-0.8.15.orig/src/runtime/GNUmakefile sbcl-0.8.15/src/runtime/GNUmakefile
+--- sbcl-0.8.15.orig/src/runtime/GNUmakefile 2004-04-10 08:37:23.000000000 -0500
++++ sbcl-0.8.15/src/runtime/GNUmakefile 2004-04-28 14:46:29.556717032 -0500
+@@ -33,6 +33,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 \
diff --git a/dev-lisp/sbcl/files/0.8.15/sbcl-no-tests-gentoo.patch b/dev-lisp/sbcl/files/0.8.15/sbcl-no-tests-gentoo.patch
new file mode 100644
index 000000000000..e2527c142c50
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.15/sbcl-no-tests-gentoo.patch
@@ -0,0 +1,56 @@
+diff -ur sbcl-0.8.15.orig/contrib/sb-bsd-sockets/sb-bsd-sockets.asd sbcl-0.8.15/contrib/sb-bsd-sockets/sb-bsd-sockets.asd
+--- sbcl-0.8.15.orig/contrib/sb-bsd-sockets/sb-bsd-sockets.asd 2004-02-11 05:00:40.000000000 -0600
++++ sbcl-0.8.15/contrib/sb-bsd-sockets/sb-bsd-sockets.asd 2004-07-11 15:30:52.230966464 -0500
+@@ -103,14 +103,3 @@
+ (defmethod perform :after ((o load-op) (c (eql (find-system :sb-bsd-sockets))))
+ (provide 'sb-bsd-sockets))
+
+-(defmethod perform ((o test-op) (c (eql (find-system :sb-bsd-sockets))))
+- (operate 'load-op 'sb-bsd-sockets-tests)
+- (operate 'test-op 'sb-bsd-sockets-tests))
+-
+-(defsystem sb-bsd-sockets-tests
+- :depends-on (sb-rt sb-bsd-sockets sb-posix)
+- :components ((:file "tests")))
+-
+-(defmethod perform ((o test-op) (c (eql (find-system :sb-bsd-sockets-tests))))
+- (or (funcall (intern "DO-TESTS" (find-package "SB-RT")))
+- (error "test-op failed")))
+diff -ur sbcl-0.8.15.orig/contrib/sb-posix/sb-posix.asd sbcl-0.8.15/contrib/sb-posix/sb-posix.asd
+--- sbcl-0.8.15.orig/contrib/sb-posix/sb-posix.asd 2003-11-29 14:41:47.000000000 -0600
++++ sbcl-0.8.15/contrib/sb-posix/sb-posix.asd 2004-07-11 15:52:38.766342896 -0500
+@@ -86,34 +86,3 @@
+ "constants"
+ :package :sb-posix :depends-on ("defpackage"))
+ (:file "interface" :depends-on ("constants" "macros" "designator" "alien"))))
+-
+-(defsystem sb-posix-tests
+- :depends-on (sb-rt)
+- :components ((:file "posix-tests")))
+-
+-(defmethod perform :after ((o load-op) (c (eql (find-system :sb-posix))))
+- (provide 'sb-posix))
+-
+-(defmethod perform ((o test-op) (c (eql (find-system :sb-posix))))
+- (operate 'load-op 'sb-posix-tests)
+- (operate 'test-op 'sb-posix-tests))
+-
+-(defmethod perform ((o test-op) (c (eql (find-system :sb-posix-tests))))
+- (funcall (intern "DO-TESTS" (find-package "SB-RT")))
+- (let ((failures (funcall (intern "PENDING-TESTS" "SB-RT")))
+- (ignored-failures (loop for sym being the symbols of :sb-posix-tests
+- if (search ".ERROR" (symbol-name sym))
+- collect sym)))
+- (cond
+- ((null failures)
+- t)
+- ((null (set-difference failures ignored-failures))
+- (warn "~@<some POSIX implementations return incorrect error values for ~
+- failing calls, but there is legitimate variation between ~
+- implementations too. If you think the errno ~
+- from your platform is valid, please contact the sbcl ~
+- developers; otherwise, please submit a bug report to your ~
+- kernel distributor~@:>")
+- t)
+- (t
+- (error "non-errno tests failed!")))))
diff --git a/dev-lisp/sbcl/files/0.8.15/sbcl.sh b/dev-lisp/sbcl/files/0.8.15/sbcl.sh
new file mode 100644
index 000000000000..d0ebaf86fa5d
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.15/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/sbclrc --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/sbclrc --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
diff --git a/dev-lisp/sbcl/files/0.8.15/sbclrc b/dev-lisp/sbcl/files/0.8.15/sbclrc
new file mode 100644
index 000000000000..91f31720d896
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.15/sbclrc
@@ -0,0 +1,18 @@
+;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Package: CL-USER -*-
+
+;;; This file is installed as /etc/sbcl.rc and run on every invocation
+;;; of SBCL
+
+(if (probe-file "/etc/lisp-config.lisp")
+ (load "/etc/lisp-config.lisp")
+ (format t "~%;;; Warning: there is no /etc/lisp-config.lisp file"))
+
+;;; The following is required if you want source location functions to
+;;; work (such as those called when you use M-. (edit definition) in
+;;; ILISP or SLIME)
+
+(setf (logical-pathname-translations "SYS")
+ '(("SYS:SRC;**;*.*.*" #p"/usr/lib/sbcl/src/**/*.*")
+ ("SYS:CONTRIB;**;*.*.*" #p"/usr/lib/sbcl/**/*.*")))
+
+;;; sbclrc ends here
diff --git a/dev-lisp/sbcl/files/digest-sbcl-0.8.15 b/dev-lisp/sbcl/files/digest-sbcl-0.8.15
new file mode 100644
index 000000000000..9ec027b0af9c
--- /dev/null
+++ b/dev-lisp/sbcl/files/digest-sbcl-0.8.15
@@ -0,0 +1,6 @@
+MD5 4c5e1732c884d831707de3257bdcbee3 sbcl-0.8.15-source.tar.bz2 2334930
+MD5 1a3f76537e7aaaafe7f9e5a4ee923e2d sbcl-0.8.15-html.tar.bz2 108172
+MD5 6c193e328cdb472787ef78401ee5294c sbcl-0.8.1-x86-linux-binary.tar.bz2 6348098
+MD5 b5a5c93185ae03392ff6000a4a425222 sbcl-0.8.8-ppc-linux-binary.tar.bz2 6831954
+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.14.ebuild b/dev-lisp/sbcl/sbcl-0.8.14.ebuild
index a7f61e38128a..f25717bd68aa 100644
--- a/dev-lisp/sbcl/sbcl-0.8.14.ebuild
+++ b/dev-lisp/sbcl/sbcl-0.8.14.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/sbcl-0.8.14.ebuild,v 1.1 2004/09/03 08:20:03 mkennedy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/sbcl-0.8.14.ebuild,v 1.2 2004/10/05 01:47:01 mkennedy Exp $
inherit common-lisp-common eutils
@@ -19,7 +19,7 @@ SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~x86 ~ppc ~sparc ~mips"
+KEYWORDS="x86 ~ppc ~sparc ~mips"
IUSE="threads doc nosource"
DEPEND=">=dev-lisp/common-lisp-controller-3.91
diff --git a/dev-lisp/sbcl/sbcl-0.8.15.ebuild b/dev-lisp/sbcl/sbcl-0.8.15.ebuild
new file mode 100644
index 000000000000..12faefc8ede5
--- /dev/null
+++ b/dev-lisp/sbcl/sbcl-0.8.15.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/sbcl-0.8.15.ebuild,v 1.1 2004/10/05 01:44:19 mkennedy Exp $
+
+inherit common-lisp-common eutils
+
+BV_X86=0.8.1
+BV_PPC=0.8.8
+BV_SPARC=0.7.13
+BV_MIPS=0.7.10
+DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp."
+HOMEPAGE="http://sbcl.sourceforge.net/"
+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}-ppc-linux-binary.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"
+IUSE="threads doc nosource"
+
+DEPEND=">=dev-lisp/common-lisp-controller-3.91
+ sys-apps/texinfo
+ doc? ( virtual/tetex )"
+
+PROVIDE="virtual/commonlisp"
+
+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-linux-binary.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
+ epatch ${FILESDIR}/${PV}/sbcl-no-tests-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
+
+ find ${S} -type f -name .cvsignore -exec rm -f '{}' \;
+ find ${S} -type d -name CVS \) -exec rm -rf '{}' \;
+ find ${S} -type f -name \*.c -exec chmod 644 '{}' \;
+}
+
+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' \
+ || die
+
+ # build with CMUCL
+# GNUMAKE=make ./make.sh 'lisp -batch'
+
+ # Generation texinfo documentation
+ cd ${S}/doc/manual
+ make info
+ use doc && make ps pdf
+
+}
+
+src_install() {
+ unset SBCL_HOME
+
+ insinto /etc/
+ doins ${FILESDIR}/${PV}/sbclrc # 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 doc/sbcl-asdf-install.1
+
+ dodoc BUGS COPYING CREDITS INSTALL NEWS OPTIMIZATIONS PRINCIPLES README STYLE SUPPORT TLA TODO
+ dodoc ${FILESDIR}/${PV}/README.Gentoo
+ dohtml doc/html/*
+
+ doinfo ${S}/doc/manual/*.info
+ use doc && dodoc ${S}/doc/manual/*.{pdf,ps}
+
+ keepdir /usr/lib/common-lisp/sbcl
+
+ if ! use nosource; then
+ # install the SBCL source
+ find ${S}/src -type f -name \*.fasl |xargs rm -f
+ mv ${S}/src ${D}/usr/lib/sbcl/
+ fi
+
+ impl-save-timestamp-hack sbcl || die
+}
+
+pkg_postinst() {
+ standard-impl-postinst sbcl
+}
+
+pkg_postrm() {
+ standard-impl-postrm sbcl /usr/bin/sbcl
+}