summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Kennedy <mkennedy@gentoo.org>2003-11-10 00:52:40 +0000
committerMatthew Kennedy <mkennedy@gentoo.org>2003-11-10 00:52:40 +0000
commit11d0c5e73e9000cc77ace02451c1762ad321854e (patch)
treec77d54af6d10cad2251f4cfc1862742efc69b81d /dev-lisp
parent*** empty log message *** (diff)
downloadgentoo-2-11d0c5e73e9000cc77ace02451c1762ad321854e.tar.gz
gentoo-2-11d0c5e73e9000cc77ace02451c1762ad321854e.tar.bz2
gentoo-2-11d0c5e73e9000cc77ace02451c1762ad321854e.zip
*** empty log message ***
Diffstat (limited to 'dev-lisp')
-rw-r--r--dev-lisp/sbcl-mt/ChangeLog9
-rw-r--r--dev-lisp/sbcl-mt/Manifest9
-rw-r--r--dev-lisp/sbcl-mt/files/digest-sbcl-mt-0.8.52
-rw-r--r--dev-lisp/sbcl-mt/files/install-clc.lisp46
-rw-r--r--dev-lisp/sbcl-mt/files/sbcl-0.8.5-mt-gentoo.patch64
-rw-r--r--dev-lisp/sbcl-mt/files/sbcl-mt.sh81
-rw-r--r--dev-lisp/sbcl-mt/sbcl-mt-0.8.4.35.ebuild4
-rw-r--r--dev-lisp/sbcl-mt/sbcl-mt-0.8.5.ebuild107
8 files changed, 314 insertions, 8 deletions
diff --git a/dev-lisp/sbcl-mt/ChangeLog b/dev-lisp/sbcl-mt/ChangeLog
index 7b02beb71bce..e9e0592d69bb 100644
--- a/dev-lisp/sbcl-mt/ChangeLog
+++ b/dev-lisp/sbcl-mt/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-lisp/sbcl-mt
# Copyright 2000-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl-mt/ChangeLog,v 1.2 2003/10/22 19:53:13 mkennedy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl-mt/ChangeLog,v 1.3 2003/11/10 00:52:37 mkennedy Exp $
+
+*sbcl-mt-0.8.5 (09 Nov 2003)
+
+ 09 Nov 2003; <mkennedy@gentoo.org> sbcl-mt-0.8.4.35.ebuild,
+ sbcl-mt-0.8.5.ebuild, files/install-clc.lisp,
+ files/sbcl-0.8.5-mt-gentoo.patch, files/sbcl-mt.sh:
+ new upstream.
*sbcl-mt-0.8.4.35 (22 Oct 2003)
diff --git a/dev-lisp/sbcl-mt/Manifest b/dev-lisp/sbcl-mt/Manifest
index 842a391682e9..c954d4ea3467 100644
--- a/dev-lisp/sbcl-mt/Manifest
+++ b/dev-lisp/sbcl-mt/Manifest
@@ -1,11 +1,9 @@
-MD5 c6c7f055b4f75934bec704585987f721 ChangeLog 903
+MD5 c81090bb9438cc8eacac710dd22cc374 ChangeLog 1114
MD5 9b65b0341efc8f4b29498aad23315229 metadata.xml 164
MD5 25639d8f67b4d39d6c75c008e7fe3b75 sbcl-mt-0.8.4.20-r1.ebuild 3935
MD5 56aabbea7700e1bc93d3930b6328283c sbcl-mt-0.8.4.20.ebuild 3889
-MD5 7f50c4244095cb72d21a73a85e3c21a5 sbcl-mt-0.8.4.35.ebuild 3934
-MD5 5eedd6788a60dfa627b316d546e99463 sbcl-mt-0.8.4.35.ebuild.~1.1.~ 3934
-MD5 7bde95222537eabe202c68050621f3ed sbcl-mt-0.8.5.ebuild 3369
-MD5 7f50c4244095cb72d21a73a85e3c21a5 sbcl-mt-0.8.5.ebuild~ 3934
+MD5 0b996ce84c8dd186e936966f3b441725 sbcl-mt-0.8.4.35.ebuild 3934
+MD5 f76517e66665b499a0f1b34d7251af66 sbcl-mt-0.8.5.ebuild 3387
MD5 738c5c7d7535f7b9b8297fc13827af81 files/customize-target-features.lisp 70
MD5 40b2d24e6e377144d83e098abd83d2be files/digest-sbcl-mt-0.8.4.20 224
MD5 40b2d24e6e377144d83e098abd83d2be files/digest-sbcl-mt-0.8.4.20-r1 224
@@ -14,3 +12,4 @@ MD5 332a3c014d85b29da7ef39caa1b147b7 files/sbcl-mt.rc 296
MD5 14c5b455a08735b51c914371b079ef1e files/sbcl-0.8.5-mt-gentoo.patch 2824
MD5 5134bfd068bf2c14d3fe8dba14c17cbd files/install-clc.lisp 1347
MD5 0d1a737d06a031b76c3011e560af6bfd files/digest-sbcl-mt-0.8.5 149
+MD5 d52459dae9e29b5de235c09670d39370 files/sbcl-mt.sh 2224
diff --git a/dev-lisp/sbcl-mt/files/digest-sbcl-mt-0.8.5 b/dev-lisp/sbcl-mt/files/digest-sbcl-mt-0.8.5
new file mode 100644
index 000000000000..9f72545b4e92
--- /dev/null
+++ b/dev-lisp/sbcl-mt/files/digest-sbcl-mt-0.8.5
@@ -0,0 +1,2 @@
+MD5 2d935319b1f985a32660412005085e42 sbcl_0.8.5.orig.tar.gz 2547892
+MD5 6c193e328cdb472787ef78401ee5294c sbcl-0.8.1-x86-linux-binary.tar.bz2 6348098
diff --git a/dev-lisp/sbcl-mt/files/install-clc.lisp b/dev-lisp/sbcl-mt/files/install-clc.lisp
new file mode 100644
index 000000000000..b15e3ee0d36f
--- /dev/null
+++ b/dev-lisp/sbcl-mt/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-mt/"
+ :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-mt"
+ "--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-mt"))))
+
+(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-mt/files/sbcl-0.8.5-mt-gentoo.patch b/dev-lisp/sbcl-mt/files/sbcl-0.8.5-mt-gentoo.patch
new file mode 100644
index 000000000000..5972b09211d4
--- /dev/null
+++ b/dev-lisp/sbcl-mt/files/sbcl-0.8.5-mt-gentoo.patch
@@ -0,0 +1,64 @@
+diff -ur sbcl-0.8.5.orig/contrib/sb-executable/sb-executable.lisp sbcl-0.8.5/contrib/sb-executable/sb-executable.lisp
+--- sbcl-0.8.5.orig/contrib/sb-executable/sb-executable.lisp 2003-11-09 13:55:48.720817048 -0600
++++ sbcl-0.8.5/contrib/sb-executable/sb-executable.lisp 2003-11-09 13:57:10.399400016 -0600
+@@ -37,7 +37,7 @@
+ (or initial-function 'values))) out)
+ (dolist (input-file (if (listp fasls) fasls (list fasls)))
+ (with-open-file (in (merge-pathnames input-file
+- (make-pathname :type "fasl"))
++ (make-pathname :type "faslmt"))
+ :element-type '(unsigned-byte 8))
+ (copy-stream in out))))
+ (let* ((out-name (namestring output-file))
+Only in sbcl-0.8.5/contrib/sb-executable: sb-executable.lisp~
+diff -ur sbcl-0.8.5.orig/contrib/vanilla-module.mk sbcl-0.8.5/contrib/vanilla-module.mk
+--- sbcl-0.8.5.orig/contrib/vanilla-module.mk 2003-11-09 13:55:48.713818112 -0600
++++ sbcl-0.8.5/contrib/vanilla-module.mk 2003-11-09 13:56:33.275043776 -0600
+@@ -2,7 +2,7 @@
+ $(MODULE).fasl: $(MODULE).lisp ../../output/sbcl.core
+ $(SBCL) --eval '(compile-file "$(MODULE)")' </dev/null
+
+-test:: $(MODULE).fasl
++test:: $(MODULE).faslmt
+
+ install:
+ cp $(MODULE).fasl $(BUILD_ROOT)$(INSTALL_DIR)
+Only in sbcl-0.8.5/contrib: vanilla-module.mk~
+diff -ur sbcl-0.8.5.orig/src/code/early-fasl.lisp sbcl-0.8.5/src/code/early-fasl.lisp
+--- sbcl-0.8.5.orig/src/code/early-fasl.lisp 2003-11-09 13:55:48.754811880 -0600
++++ sbcl-0.8.5/src/code/early-fasl.lisp 2003-11-09 13:58:19.335920072 -0600
+@@ -103,7 +103,7 @@
+
+ ;;; the conventional file extension for our fasl files
+ (declaim (type simple-string *fasl-file-type*))
+-(defvar *fasl-file-type* "fasl")
++(defvar *fasl-file-type* "faslmt")
+
+ ;;;; information about below-Lisp-level linkage
+
+Only in sbcl-0.8.5/src/code: early-fasl.lisp~
+diff -ur sbcl-0.8.5.orig/src/compiler/main.lisp sbcl-0.8.5/src/compiler/main.lisp
+--- sbcl-0.8.5.orig/src/compiler/main.lisp 2003-11-09 13:55:48.804804280 -0600
++++ sbcl-0.8.5/src/compiler/main.lisp 2003-11-09 13:58:45.303972328 -0600
+@@ -454,7 +454,7 @@
+
+ (etypecase *compile-object*
+ (fasl-output
+- (maybe-mumble "fasl")
++ (maybe-mumble "faslmt")
+ (fasl-dump-component component
+ *code-segment*
+ code-length
+Only in sbcl-0.8.5/src/compiler: main.lisp~
+diff -ur sbcl-0.8.5.orig/src/runtime/GNUmakefile sbcl-0.8.5/src/runtime/GNUmakefile
+--- sbcl-0.8.5.orig/src/runtime/GNUmakefile 2003-11-09 13:55:48.857796224 -0600
++++ sbcl-0.8.5/src/runtime/GNUmakefile 2003-11-09 14:00:21.496348864 -0600
+@@ -34,6 +34,7 @@
+ # symlink to Config-foo.
+ include Config
+
++CFLAGS += -DSBCL_HOME='"/usr/lib/sbcl-mt"'
+
+ 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.5/src/runtime: GNUmakefile~
diff --git a/dev-lisp/sbcl-mt/files/sbcl-mt.sh b/dev-lisp/sbcl-mt/files/sbcl-mt.sh
new file mode 100644
index 000000000000..597c034ed601
--- /dev/null
+++ b/dev-lisp/sbcl-mt/files/sbcl-mt.sh
@@ -0,0 +1,81 @@
+#!/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-mt --noinform --sysinit /etc/sbcl-mt.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-mt/$1"
+ shift
+ done
+ ;;
+ install-defsystem | install-clc)
+ echo $0 loading and dumping clc.
+ ( cd /usr/lib/sbcl-mt
+ sbcl-mt --core /usr/lib/sbcl-mt/sbcl-dist.core \
+ --noinform --sysinit /etc/sbcl-mt.rc --userinit /dev/null \
+ --load "/usr/lib/sbcl-mt/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-mt/sbcl-dist.core /usr/lib/sbcl-mt/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-mt --core /usr/lib/sbcl-mt/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-mt/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)))"
+ cd /usr/lib/sbcl-mt
+ 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-mt/sbcl-mt-0.8.4.35.ebuild b/dev-lisp/sbcl-mt/sbcl-mt-0.8.4.35.ebuild
index dd0284f2c923..5c4f4d19d244 100644
--- a/dev-lisp/sbcl-mt/sbcl-mt-0.8.4.35.ebuild
+++ b/dev-lisp/sbcl-mt/sbcl-mt-0.8.4.35.ebuild
@@ -1,6 +1,6 @@
# 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-mt/sbcl-mt-0.8.4.35.ebuild,v 1.1 2003/10/22 19:53:13 mkennedy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl-mt/sbcl-mt-0.8.4.35.ebuild,v 1.2 2003/11/10 00:52:37 mkennedy Exp $
inherit common-lisp-common
@@ -14,7 +14,7 @@ SRC_URI="http://ftp.debian.org/debian/pool/main/s/sbcl-mt/sbcl-mt_${PV}.orig.tar
x86? ( mirror://sourceforge/sbcl/sbcl-${BV_X86}-x86-linux-binary.tar.bz2 )"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="-x86"
+KEYWORDS="~x86"
PROVIDE="virtual/commonlisp"
# the SRC_URI trickery needs this
DEPEND=">=sys-apps/portage-2.0.27
diff --git a/dev-lisp/sbcl-mt/sbcl-mt-0.8.5.ebuild b/dev-lisp/sbcl-mt/sbcl-mt-0.8.5.ebuild
new file mode 100644
index 000000000000..c49b266e0904
--- /dev/null
+++ b/dev-lisp/sbcl-mt/sbcl-mt-0.8.5.ebuild
@@ -0,0 +1,107 @@
+# 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-mt/sbcl-mt-0.8.5.ebuild,v 1.1 2003/11/10 00:52:37 mkennedy Exp $
+
+inherit common-lisp-common
+
+DEB_PV=1
+
+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. This is the multreaded version of SBCL"
+HOMEPAGE="http://sbcl.sourceforge.net/"
+BV_X86=0.8.1
+SRC_URI="http://ftp.debian.org/debian/pool/main/s/sbcl/sbcl_${PV}.orig.tar.gz
+ x86? ( mirror://sourceforge/sbcl/sbcl-${BV_X86}-x86-linux-binary.tar.bz2 )"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~x86"
+PROVIDE="virtual/commonlisp"
+# the SRC_URI trickery needs this
+DEPEND=">=sys-apps/portage-2.0.27
+ dev-lisp/common-lisp-controller
+ doc? ( app-text/openjade )"
+
+S=${WORKDIR}/sbcl-${PV}
+
+src_unpack() {
+ if use x86; then
+ unpack sbcl-${BV_X86}-x86-linux-binary.tar.bz2
+ mv sbcl-${BV_X86} x86-binary
+ fi
+ unpack sbcl_${PV}.orig.tar.gz
+ epatch ${FILESDIR}/sbcl-${PV}-mt-gentoo.patch
+ cp ${FILESDIR}/customize-target-features.lisp ${S}/
+}
+
+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
+ 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
+ if use doc; then
+ cd doc && chmod +x make-doc.sh
+ ./make-doc.sh
+ fi
+}
+
+src_install() {
+ unset SBCL_HOME
+
+ insinto /etc/
+ doins ${FILESDIR}/sbcl-mt.rc
+
+ exeinto /usr/lib/common-lisp/bin
+ doexe ${FILESDIR}/sbcl-mt.sh
+
+ INSTALL_ROOT=${D}/usr sh install.sh
+ mv ${D}/usr/lib/sbcl ${D}/usr/lib/sbcl-mt
+ mv ${D}/usr/bin/sbcl ${D}/usr/bin/sbcl-mt
+ dosym /usr/lib/sbcl-mt/asdf-install/asdf-install /usr/bin/sbcl-mt-asdf-install
+ rm ${D}/usr/bin/sbcl-asdf-install
+ mv ${D}/usr/lib/sbcl-mt/sbcl.core ${D}/usr/lib/sbcl-mt/sbcl-dist.core
+
+ insinto /usr/lib/sbcl-mt
+ doins ${FILESDIR}/install-clc.lisp
+
+ dodir /usr/share
+ mv ${D}/usr/man ${D}/usr/share/
+ mv ${D}/usr/share/man/man1/sbcl.1 ${D}/usr/share/man/man1/sbcl-mt.1
+
+# doman debian/sbcl-asdf-install.1
+
+ use doc && dohtml doc/html/*
+ dodoc BUGS COPYING CREDITS INSTALL NEWS OPTIMIZATIONS PRINCIPLES \
+ README STYLE TLA TODO
+# do-debian-credits
+
+ find ${D} -type f -name .cvsignore -exec rm -f '{}' \;
+ find ${D} -type f -name \*.c -exec chmod 644 '{}' \;
+
+ # 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() {
+ tar xvpzf /usr/share/sbcl-mt/portage-timestamp-compensate -C /usr/lib/sbcl-mt
+ rm -rf /usr/lib/common-lisp/${PN}/* || true
+ /usr/bin/clc-autobuild-impl sbcl-mt yes
+ rm -rf /usr/lib/common-lisp/${PN} || true
+ /usr/sbin/register-common-lisp-implementation sbcl-mt
+}
+
+pkg_postrm() {
+ # Since we keep our own time stamps we must manually remove them
+ # here.
+ if [ ! -x /usr/bin/sbcl-mt ]; then
+ rm -rf /usr/lib/sbcl-mt
+ fi
+}