summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Kennedy <mkennedy@gentoo.org>2004-01-12 09:41:32 +0000
committerMatthew Kennedy <mkennedy@gentoo.org>2004-01-12 09:41:32 +0000
commit333247b638829fb91646ac92351106575b815611 (patch)
treef38ff9099feab1ce6eb519876178dbcaa3e2622f /dev-lisp
parentNew upstream release. Ebuild now supports threads USE flag for x86. This me... (diff)
downloadhistorical-333247b638829fb91646ac92351106575b815611.tar.gz
historical-333247b638829fb91646ac92351106575b815611.tar.bz2
historical-333247b638829fb91646ac92351106575b815611.zip
New upstream release. Ebuild now supports threads USE flag for x86. This means dev-lisp/sbcl-mt is now obsolete. Documentation is now installed from upstream documentation archives. Masked ~x86. Clean up of ebuild. Added example CMUCL build line. Added README.Gentoo with summary of Gentoo-specifics.
Diffstat (limited to 'dev-lisp')
-rw-r--r--dev-lisp/sbcl/Manifest8
-rw-r--r--dev-lisp/sbcl/files/0.8.7/README.Gentoo21
-rw-r--r--dev-lisp/sbcl/files/0.8.7/customize-target-features.lisp16
-rw-r--r--dev-lisp/sbcl/files/0.8.7/posix-tests.lisp-sandbox-gentoo.patch57
-rw-r--r--dev-lisp/sbcl/files/digest-sbcl-0.8.77
-rw-r--r--dev-lisp/sbcl/sbcl-0.8.7.ebuild123
6 files changed, 227 insertions, 5 deletions
diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest
index 251f6e81b33d..f97133bc95ae 100644
--- a/dev-lisp/sbcl/Manifest
+++ b/dev-lisp/sbcl/Manifest
@@ -1,4 +1,4 @@
-MD5 c726599a03d2a875c53e9f2787d77366 ChangeLog 4651
+MD5 515fc1a8b3f42837954f02e1fdd0de3a ChangeLog 5181
MD5 9b65b0341efc8f4b29498aad23315229 metadata.xml 164
MD5 1b2f87556d9e5807c5347c764e18642b sbcl-0.8.5.ebuild 3891
MD5 3f7c2bc02639ca69e478db920d8b3704 sbcl-0.7.7.ebuild 1479
@@ -8,7 +8,7 @@ MD5 2842b64ad2353ca9b97ab1563ddb1e35 sbcl-0.8.4-r1.ebuild 3569
MD5 e05c3beb6da60089ea8766a573324876 sbcl-0.8.4-r2.ebuild 3894
MD5 c4fad0c97a08164fd44dea56a258a475 sbcl-0.8.4.ebuild 2560
MD5 0d220a5029f2c302fdeafadd3bd97b7f sbcl-0.8.5-r1.ebuild 4018
-MD5 5381801317e016d24a3dc74dbc51c3b5 sbcl-0.8.7.ebuild 4202
+MD5 141aeff5bf9d9e3d8beced995f0b36e1 sbcl-0.8.7.ebuild 4095
MD5 ecf044f288fb93be779915b684e8d81f files/digest-sbcl-0.8.5 461
MD5 1b52d1cb085fdfec090a08604c2fd4ed files/digest-sbcl-0.7.7 300
MD5 1821ff9718a8d902b416c691258c9a40 files/digest-sbcl-0.8.1 304
@@ -23,7 +23,5 @@ MD5 149ae58f2a3254c2746b71452292abf2 files/sbcl.sh 2170
MD5 ecf044f288fb93be779915b684e8d81f files/digest-sbcl-0.8.5-r1 461
MD5 d4bfc144f303942ff574404fbd2e078d files/digest-sbcl-0.8.7 528
MD5 f03239faafd7bab9fb5f858b3cdfdf3b files/0.8.7/posix-tests.lisp-sandbox-gentoo.patch 1860
-MD5 a2d8579a5a9cc200c62856255f3b1479 files/0.8.7/README.Gentoo 674
-MD5 a51ab5d4bd565e7aef5c82d075be96fa files/0.8.7/README.Gentoo~ 16
+MD5 6bd69b507b65c1673290970c034a307c files/0.8.7/README.Gentoo 695
MD5 6f7e5b88d5e1e5eb21b00e008b8a23b5 files/0.8.7/customize-target-features.lisp 532
-MD5 0890be5a2899a56e02f2356795babb5f files/0.8.7/customize-target-features.lisp~ 777
diff --git a/dev-lisp/sbcl/files/0.8.7/README.Gentoo b/dev-lisp/sbcl/files/0.8.7/README.Gentoo
new file mode 100644
index 000000000000..33c9b8d16151
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.7/README.Gentoo
@@ -0,0 +1,21 @@
+-*- outline -*-
+
+Gentoo GNU/Linux specific notes for SBCL
+----------------------------------------
+
+This is the README.Gentoo file from /usr/share/doc/sbcl-<version>/
+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 certain it is not Gentoo-related.
diff --git a/dev-lisp/sbcl/files/0.8.7/customize-target-features.lisp b/dev-lisp/sbcl/files/0.8.7/customize-target-features.lisp
new file mode 100644
index 000000000000..86bca46e687c
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.7/customize-target-features.lisp
@@ -0,0 +1,16 @@
+;;;; 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))
+ list)
diff --git a/dev-lisp/sbcl/files/0.8.7/posix-tests.lisp-sandbox-gentoo.patch b/dev-lisp/sbcl/files/0.8.7/posix-tests.lisp-sandbox-gentoo.patch
new file mode 100644
index 000000000000..5e482a6a4b8a
--- /dev/null
+++ b/dev-lisp/sbcl/files/0.8.7/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/digest-sbcl-0.8.7 b/dev-lisp/sbcl/files/digest-sbcl-0.8.7
new file mode 100644
index 000000000000..99d80d011a97
--- /dev/null
+++ b/dev-lisp/sbcl/files/digest-sbcl-0.8.7
@@ -0,0 +1,7 @@
+MD5 df0b8d53af18e0a0379ed04286a5aa6d sbcl_0.8.7.orig.tar.gz 2599415
+MD5 2f00663b646b2615f12c984e3435d478 sbcl-0.8.7-html.tar.bz2 47069
+MD5 240b5807f7e7ae4c7bc7840b26ce2ab7 sbcl_0.8.7-1.diff.gz 11542
+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.7.ebuild b/dev-lisp/sbcl/sbcl-0.8.7.ebuild
new file mode 100644
index 000000000000..05f13ebdb784
--- /dev/null
+++ b/dev-lisp/sbcl/sbcl-0.8.7.ebuild
@@ -0,0 +1,123 @@
+# 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.7.ebuild,v 1.1 2004/01/12 09:41:24 mkennedy Exp $
+
+inherit common-lisp-common
+
+DESCRIPTION="Steel Bank Common Lisp (SBCL) is a Open Source development system for ANSI Common Lisp. It provides an interactive environment including an integrated native compiler, interpreter, and debugger."
+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
+DEB_PV=1
+SRC_URI="http://ftp.debian.org/debian/pool/main/s/sbcl/sbcl_${PV}.orig.tar.gz
+ mirror://sourceforge/sbcl/${P}-html.tar.bz2
+ http://ftp.debian.org/debian/pool/main/s/sbcl/sbcl_${PV}-${DEB_PV}.diff.gz
+ 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 sbcl_${PV}.orig.tar.gz
+ unpack sbcl_${PV}-${DEB_PV}.diff.gz
+ epatch sbcl_${PV}-${DEB_PV}.diff
+
+ epatch ${FILESDIR}/${PV}/posix-tests.lisp-sandbox-gentoo.patch
+
+ # Currently, thread support is only available for x86
+ if use x86 && use threads; then
+ cp ${FILESDIR}/${PV}/customize-target-features.lisp ${S}/
+ 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}/sbcl.rc # Gentoo specific messages, hence ${FILESDIR}
+
+ exeinto /usr/lib/common-lisp/bin
+ doexe debian/sbcl.sh
+
+ 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 debian/install-clc.lisp
+
+ doman debian/sbcl-asdf-install.1
+ dodoc BUGS COPYING CREDITS INSTALL NEWS OPTIMIZATIONS PRINCIPLES README STYLE SUPPORT TLA TODO
+ do-debian-credits
+ 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
+
+ # BIG FAT HACK
+ #
+ # Since the Portage emerge step kills file timestamp information,
+ # we need to compensate by ensuring all .fasl files are more
+ # recent than their .lisp source.
+
+ dodir /usr/share/${PN}
+ tar cpvzf ${D}/usr/share/${PN}/portage-timestamp-compensate -C ${D}/usr/lib/${PN} .
+}
+
+pkg_postinst() {
+ chown cl-builder:cl-builder /usr/lib/common-lisp/sbcl
+ tar xvpzf /usr/share/sbcl/portage-timestamp-compensate -C /usr/lib/sbcl
+ rm -rf /usr/lib/common-lisp/sbcl/* || true
+ /usr/bin/clc-autobuild-impl sbcl yes
+ /usr/sbin/register-common-lisp-implementation sbcl
+}
+
+pkg_postrm() {
+ # Since we keep our own time stamps we must manually remove them
+ # here.
+ if [ ! -x /usr/bin/sbcl ]; then
+ rm -rf /usr/lib/sbcl
+ fi
+ rm -rf /usr/lib/common-lisp/${PN}/*
+}