summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Kennedy <mkennedy@gentoo.org>2003-09-21 02:26:02 +0000
committerMatthew Kennedy <mkennedy@gentoo.org>2003-09-21 02:26:02 +0000
commit07881ff14396172ce39c82dfbb1b840bbda0c5c0 (patch)
treecef12f9701be801875aafd5b6679d8b90dac1ddb /dev-lisp
parentresolves bug 28340 (diff)
downloadhistorical-07881ff14396172ce39c82dfbb1b840bbda0c5c0.tar.gz
historical-07881ff14396172ce39c82dfbb1b840bbda0c5c0.tar.bz2
historical-07881ff14396172ce39c82dfbb1b840bbda0c5c0.zip
resolves bug 28340
Diffstat (limited to 'dev-lisp')
-rw-r--r--dev-lisp/sbcl/Manifest7
-rw-r--r--dev-lisp/sbcl/files/digest-sbcl-0.8.34
-rw-r--r--dev-lisp/sbcl/files/install-clc.lisp46
-rw-r--r--dev-lisp/sbcl/files/sbcl.rc7
-rw-r--r--dev-lisp/sbcl/files/sbcl.sh80
-rw-r--r--dev-lisp/sbcl/sbcl-0.8.3.ebuild102
6 files changed, 242 insertions, 4 deletions
diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest
index 5b99845dc81c..399aef33277a 100644
--- a/dev-lisp/sbcl/Manifest
+++ b/dev-lisp/sbcl/Manifest
@@ -1,17 +1,16 @@
-MD5 bf436c597f36acda7da5b1d7d7f51b3d ChangeLog 2409
+MD5 5009c012207380f7e2ae8edd0e22b785 ChangeLog 2703
MD5 f67859fbfee204bba3ee73ee8abe994a sbcl-0.6.12.ebuild 1053
MD5 a6e113337aada357e7aa8b93dce9c82a sbcl-0.7.5.ebuild 1372
MD5 215c765767ee81f9cbae0696e4fc0c53 sbcl-0.7.6-r1.ebuild 1482
MD5 3f7c2bc02639ca69e478db920d8b3704 sbcl-0.7.7.ebuild 1479
MD5 6c9f9c96627678efaa377d40692ea969 sbcl-0.8.1.ebuild 1534
-MD5 4813c38a994e688f183266606db881ea sbcl-0.8.3.ebuild 2562
-MD5 b55652c2793ead3ec9d19c10588c320a sbcl-0.8.3.ebuild~ 2572
+MD5 d913694a716b741d4edb240f3d8049b3 sbcl-0.8.3.ebuild 2562
MD5 36e1837606337c53dc21111b18146143 files/digest-sbcl-0.6.12 150
MD5 61c9382b669d5b190b434be62664253e files/digest-sbcl-0.7.5 219
MD5 bc8e434b44fc3abc15022afc66be888f files/digest-sbcl-0.7.6-r1 300
MD5 1b52d1cb085fdfec090a08604c2fd4ed files/digest-sbcl-0.7.7 300
MD5 1821ff9718a8d902b416c691258c9a40 files/digest-sbcl-0.8.1 304
MD5 149ae58f2a3254c2746b71452292abf2 files/sbcl.sh 2170
-MD5 6e40a080b566cc78dfe522ae34eec0a7 files/common-lisp-controller.lisp 1338
MD5 6b18a7ce9fb1c3c721b30b93b9404be5 files/sbcl.rc 311
MD5 1c37a6df08d60b9008ded7dfb2b584ab files/digest-sbcl-0.8.3 301
+MD5 6e40a080b566cc78dfe522ae34eec0a7 files/install-clc.lisp 1338
diff --git a/dev-lisp/sbcl/files/digest-sbcl-0.8.3 b/dev-lisp/sbcl/files/digest-sbcl-0.8.3
new file mode 100644
index 000000000000..11a7dd0771ca
--- /dev/null
+++ b/dev-lisp/sbcl/files/digest-sbcl-0.8.3
@@ -0,0 +1,4 @@
+MD5 5989896de7eba3827556b1a11e297c91 sbcl-0.8.3-source.tar.bz2 2001385
+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 b377256bca8ccdb9cc8170a104b227fd sbcl-0.8.3-html.tar.bz2 45551
diff --git a/dev-lisp/sbcl/files/install-clc.lisp b/dev-lisp/sbcl/files/install-clc.lisp
new file mode 100644
index 000000000000..842a51ba696a
--- /dev/null
+++ b/dev-lisp/sbcl/files/install-clc.lisp
@@ -0,0 +1,46 @@
+;;; -*- Mode: LISP; Package: CL-USER -*-
+;;;
+;;; Copyright (C) Peter Van Eynde 2001 and Kevin Rosenberg 2002-2003
+;;;
+;;; License: LGPL v2
+;;;
+(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))
+
+(defun common-lisp-controller: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"))))
+
+(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/sbcl.rc b/dev-lisp/sbcl/files/sbcl.rc
new file mode 100644
index 000000000000..5362dcfddba2
--- /dev/null
+++ b/dev-lisp/sbcl/files/sbcl.rc
@@ -0,0 +1,7 @@
+;;; -*- Lisp -*-
+;;; this file gets 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 "~%;;; Hey: there is no /etc/lisp-config.lisp file, please run \"dpkg-reconfigure common-lisp-controller\" as root"))
diff --git a/dev-lisp/sbcl/files/sbcl.sh b/dev-lisp/sbcl/files/sbcl.sh
new file mode 100644
index 000000000000..2e1bc27017c6
--- /dev/null
+++ b/dev-lisp/sbcl/files/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
diff --git a/dev-lisp/sbcl/sbcl-0.8.3.ebuild b/dev-lisp/sbcl/sbcl-0.8.3.ebuild
new file mode 100644
index 000000000000..3c10e87096b0
--- /dev/null
+++ b/dev-lisp/sbcl/sbcl-0.8.3.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2003 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.3.ebuild,v 1.1 2003/09/21 02:25:56 mkennedy Exp $
+
+DESCRIPTION="Steel Bank Common Lisp"
+HOMEPAGE="http://sbcl.sourceforge.net/"
+BV_X86=0.8.1
+BV_PPC=0.7.13
+SRC_URI="mirror://sourceforge/sbcl/${P}-source.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 )
+ mirror://sourceforge/sbcl/${P}-html.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~x86 ~ppc -sparc "
+PROVIDE="virtual/commonlisp"
+# the SRC_URI trickery needs this
+DEPEND=">=sys-apps/portage-2.0.27
+ dev-lisp/common-lisp-controller"
+
+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
+ fi
+
+ unpack ${P}-source.tar.bz2
+ unpack ${P}-html.tar.bz2
+}
+
+src_compile() {
+ local bindir
+ use x86 && bindir=x86-binary
+ use ppc && bindir=ppc-binary
+
+ #export INSTALL_ROOT=${D}/usr
+ #export SBCL_HOME=${D}/usr/lib/sbcl
+ export SBCL_HOME=../${bindir}/output
+ export GNUMAKE="make"
+
+ sh make.sh "../${bindir}/src/runtime/sbcl" || die
+ sh make-target-contrib.sh || die
+}
+
+src_install() {
+ local LIB=${DESTTREE}/lib/sbcl
+
+ doman doc/sbcl.1
+ dobin src/runtime/sbcl
+
+ dodoc BUGS CREDITS NEWS README INSTALL COPYING
+ dohtml doc/html/*
+
+ dodir ${LIB}
+ insinto ${LIB}
+ cp -r output/* ${D}/${LIB}
+ doins output/sbcl.core
+ newins output/sbcl.core sbcl-dist.core
+
+ insinto /usr/lib/sbcl
+ doins ${FILESDIR}/install-clc.lisp
+
+ exeinto /usr/lib/common-lisp/bin
+ cp ${FILESDIR}/sbcl.sh sbcl.sh
+ doexe sbcl.sh
+
+ insinto /etc
+ doins ${FILESDIR}/sbcl.rc
+
+ dodir /usr/share/common-lisp/source/sbcl
+ cp -r src/* ${D}/usr/share/common-lisp/source/sbcl
+
+ dodir /etc/env.d
+
+ echo "SBCL_HOME=${LIB}" > ${D}/etc/env.d/10sbcl
+
+ export INSTALL_ROOT=${D}/usr
+ export SBCL_HOME=${D}/usr/lib/sbcl
+ export GNUMAKE="make"
+
+ sh install.sh || die
+}
+
+pkg_postinst() {
+ einfo ">>> Fixing permissions for executables and directories..."
+ find /usr/share/common-lisp/source -type d -o \( -type f -perm +111 \) \
+ |xargs chmod 755
+ einfo ">>> fix permissions for non-executable files..."
+ find /usr/share/common-lisp/source -type f ! -perm -111 \
+ |xargs chmod 644
+
+ /usr/sbin/register-common-lisp-implementation sbcl
+}
+
+pkg_postrm() {
+ /usr/sbin/unregister-common-lisp-implementation sbcl
+} \ No newline at end of file