summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanislav Sedov <stas@FreeBSD.org>2009-08-09 11:28:23 +0000
committerStanislav Sedov <stas@FreeBSD.org>2009-08-09 11:28:23 +0000
commit2e8138a35ff22cdf6909b1706aaa64d82748a90d (patch)
treecee9a140fc7cb9cd3ec543e66ee740ed707edecd
parentMark BROKEN: does not build (diff)
- Update to 1.0.30.
- Fix threading support (thanks to Hiroyuki Komatsu <kom@narihara-lab.jp>). - Temporary use my mirror for distfiles until issues with sourceforge are resolved.
Notes
Notes: svn path=/head/; revision=239198
-rw-r--r--lang/sbcl/Makefile12
-rw-r--r--lang/sbcl/distinfo6
-rw-r--r--lang/sbcl/files/patch-src_compiler_seqtran.lisp75
-rw-r--r--lang/sbcl/files/patch-src_runtime_bsd-os.c33
-rw-r--r--lang/sbcl/pkg-plist3
5 files changed, 46 insertions, 83 deletions
diff --git a/lang/sbcl/Makefile b/lang/sbcl/Makefile
index 249ea7607d4d..30dd15d7718f 100644
--- a/lang/sbcl/Makefile
+++ b/lang/sbcl/Makefile
@@ -9,12 +9,14 @@
#
PORTNAME= sbcl
-PORTVERSION= 1.0.29.2
+PORTVERSION= 1.0.30.0
PORTREVISION= 0
CATEGORIES= lang lisp
-MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} \
+#MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} \
+# ftp://ftp.SpringDaemons.com/soft/sbcl-binary/:binaries
+MASTER_SITES= ftp://ftp.SpringDaemons.com/soft/ \
ftp://ftp.SpringDaemons.com/soft/sbcl-binary/:binaries
-MASTER_SITE_SUBDIR= sbcl
+#MASTER_SITE_SUBDIR= sbcl/${PORTVERSION:R}
DISTNAME= ${PORTNAME}-${PORTVERSION:R}-source${SBCLPATCHLEVEL}
MAINTAINER= stas@FreeBSD.org
@@ -76,9 +78,10 @@ BOOT_ARCH_OS_LIST= ${ARCH}-freebsd${OSVER_MAJOR}
LISP_EXTRA_ARG= --dynamic-space-size ${DYNAMIC_SPACE_SIZE}
. endif
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
. for BOOT_ARCH_OS in ${BOOT_ARCH_OS_LIST}
BOOT_DISTNAME= ${PORTNAME}-${BOOT_VERSION}-${BOOT_ARCH_OS}
-DISTFILES:= ${DISTNAME}${EXTRACT_SUFX} ${BOOT_DISTNAME}-binary${EXTRACT_SUFX}:binaries
+DISTFILES:= ${DISTFILES} ${BOOT_DISTNAME}-binary${EXTRACT_SUFX}:binaries
. endfor
LISP_CMD= "${WRKDIR}/${BOOT_DISTNAME}/src/runtime/sbcl --core ${WRKDIR}/${BOOT_DISTNAME}/output/sbcl.core ${LISP_EXTRA_ARG} --disable-debugger --userinit /dev/null --sysinit /dev/null"
@@ -118,6 +121,7 @@ do-install:
post-install:
.for DIR in ${EMPTY_DIRS}
+ ${MKDIR} ${PREFIX}/lib/sbcl/${DIR}/
@${TOUCH} ${PREFIX}/lib/sbcl/${DIR}/.keep_me
.endfor
diff --git a/lang/sbcl/distinfo b/lang/sbcl/distinfo
index cd525f768d66..edd8285370b4 100644
--- a/lang/sbcl/distinfo
+++ b/lang/sbcl/distinfo
@@ -1,6 +1,6 @@
-MD5 (sbcl-1.0.29-source-r2.tar.bz2) = 0dd65614533972500bbcd341de17182d
-SHA256 (sbcl-1.0.29-source-r2.tar.bz2) = ce2d01e91e84d3170ca030046d6a5324ad3411c90fabbde3078cb58e759c4f2a
-SIZE (sbcl-1.0.29-source-r2.tar.bz2) = 3275747
+MD5 (sbcl-1.0.30-source.tar.bz2) = 64a96ad21a5d57f27639c0801c00fe74
+SHA256 (sbcl-1.0.30-source.tar.bz2) = d8b6f6437d6fb082e7942cb5bbef905a1b84abd68ca15a0602c5d627c3314933
+SIZE (sbcl-1.0.30-source.tar.bz2) = 3348181
MD5 (sbcl-1.0.17-amd64-freebsd8-binary.tar.bz2) = 97c0acdaab6a0ad0101cf6d23e03176f
SHA256 (sbcl-1.0.17-amd64-freebsd8-binary.tar.bz2) = 19f7a1311e2b0c7a174cce2182c9a240f0b1fe12eeb61de6e1cc253d47c4dc27
SIZE (sbcl-1.0.17-amd64-freebsd8-binary.tar.bz2) = 7786927
diff --git a/lang/sbcl/files/patch-src_compiler_seqtran.lisp b/lang/sbcl/files/patch-src_compiler_seqtran.lisp
deleted file mode 100644
index 1dda7f686f54..000000000000
--- a/lang/sbcl/files/patch-src_compiler_seqtran.lisp
+++ /dev/null
@@ -1,75 +0,0 @@
---- src/compiler/seqtran.lisp 2009/05/18 07:58:11 1.103
-+++ src/compiler/seqtran.lisp 2009/06/04 18:01:32 1.104
-@@ -569,40 +569,44 @@
- #!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
- (:complex-single-float
- (logior (ash (single-float-bits (imagpart tmp)) 32)
-- (single-float-bits (realpart tmp)))))))
-+ (ldb (byte 32 0)
-+ (single-float-bits (realpart tmp))))))))
- (res bits))
- (loop for i of-type sb!vm:word from n-bits by n-bits
- until (= i sb!vm:n-word-bits)
- do (setf res (ldb (byte sb!vm:n-word-bits 0)
- (logior res (ash bits i)))))
- res))
-- `(let* ((bits (ldb (byte ,n-bits 0)
-- ,(ecase kind
-- (:tagged
-- `(ash item ,sb!vm:n-fixnum-tag-bits))
-- (:char
-- `(char-code item))
-- (:bits
-- `item)
-- (:single-float
-- `(single-float-bits item))
-- #!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
-- (:double-float
-- `(logior (ash (double-float-high-bits item) 32)
-- (double-float-low-bits item)))
-- #!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
-- (:complex-single-float
-- `(logior (ash (single-float-bits (imagpart item)) 32)
-- (single-float-bits (realpart item)))))))
-- (res bits))
-- (declare (type sb!vm:word res))
-- ,@(unless (= sb!vm:n-word-bits n-bits)
-- `((loop for i of-type sb!vm:word from ,n-bits by ,n-bits
-- until (= i sb!vm:n-word-bits)
-- do (setf res
-- (ldb (byte ,sb!vm:n-word-bits 0)
-- (logior res (ash bits (truly-the (integer 0 ,(- sb!vm:n-word-bits n-bits)) i))))))))
-- res))))
-+ (progn
-+ (delay-ir1-transform node :constraint)
-+ `(let* ((bits (ldb (byte ,n-bits 0)
-+ ,(ecase kind
-+ (:tagged
-+ `(ash item ,sb!vm:n-fixnum-tag-bits))
-+ (:char
-+ `(char-code item))
-+ (:bits
-+ `item)
-+ (:single-float
-+ `(single-float-bits item))
-+ #!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
-+ (:double-float
-+ `(logior (ash (double-float-high-bits item) 32)
-+ (double-float-low-bits item)))
-+ #!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
-+ (:complex-single-float
-+ `(logior (ash (single-float-bits (imagpart item)) 32)
-+ (ldb (byte 32 0)
-+ (single-float-bits (realpart item))))))))
-+ (res bits))
-+ (declare (type sb!vm:word res))
-+ ,@(unless (= sb!vm:n-word-bits n-bits)
-+ `((loop for i of-type sb!vm:word from ,n-bits by ,n-bits
-+ until (= i sb!vm:n-word-bits)
-+ do (setf res
-+ (ldb (byte ,sb!vm:n-word-bits 0)
-+ (logior res (ash bits (truly-the (integer 0 ,(- sb!vm:n-word-bits n-bits)) i))))))))
-+ res)))))
- (values
- `(with-array-data ((data seq)
- (start start)
diff --git a/lang/sbcl/files/patch-src_runtime_bsd-os.c b/lang/sbcl/files/patch-src_runtime_bsd-os.c
new file mode 100644
index 000000000000..be8d124aa6fa
--- /dev/null
+++ b/lang/sbcl/files/patch-src_runtime_bsd-os.c
@@ -0,0 +1,33 @@
+--- src/runtime/bsd-os.c.orig 2009-08-09 14:54:09.000000000 +0400
++++ src/runtime/bsd-os.c 2009-08-09 14:56:20.000000000 +0400
+@@ -198,19 +198,9 @@
+ */
+
+ void
+-memory_fault_handler(int signal, siginfo_t *siginfo, os_context_t *context
+-#if defined(LISP_FEATURE_FREEBSD) && defined(LISP_FEATURE_X86_64)
+-/* FreeBSD/amd64 stores fault address only in undocumented 4th arg. */
+- ,void *fault_addr
+-#endif
+- )
+-{
+-#if defined(LISP_FEATURE_FREEBSD) && defined(LISP_FEATURE_X86_64)
+- /* KLUDGE: Store fault address into si_addr for compatibilities. */
+- siginfo->si_addr = fault_addr;
+-#else
++memory_fault_handler(int signal, siginfo_t *siginfo, os_context_t *context)
++{
+ void *fault_addr = arch_get_bad_addr(signal, siginfo, context);
+-#endif
+
+ #if defined(LISP_FEATURE_RESTORE_TLS_SEGMENT_REGISTER_FROM_CONTEXT)
+ FSHOW_SIGNAL((stderr, "/ TLS: restoring fs: %p in memory_fault_handler\n",
+@@ -393,7 +383,7 @@
+ #endif /* LISP_FEATURE_X86 */
+ }
+
+-#if defined(LISP_FEATURE_SB_THREAD) && !defined(LISP_FEATURE_SB_PTHREAD_FUTEX)
++#if defined(LISP_FEATURE_SB_THREAD) && !defined(LISP_FEATURE_SB_PTHREAD_FUTEX) && !defined(LISP_FEATURE_SB_LUTEX)
+ int
+ futex_wait(int *lock_word, long oldval, long sec, unsigned long usec)
+ {
diff --git a/lang/sbcl/pkg-plist b/lang/sbcl/pkg-plist
index 44cfca6f6c67..212adc561c27 100644
--- a/lang/sbcl/pkg-plist
+++ b/lang/sbcl/pkg-plist
@@ -2,7 +2,6 @@
%%DOCSDIR%%/COPYING
%%DOCSDIR%%/CREDITS
%%DOCSDIR%%/NEWS
-%%DOCSDIR%%/SUPPORT
bin/sbcl
lib/sbcl/asdf-install/.cvsignore
lib/sbcl/asdf-install/Makefile
@@ -150,6 +149,7 @@ lib/sbcl/sb-posix/sb-posix.fasl
lib/sbcl/sb-posix/sb-posix.texinfo
lib/sbcl/sb-posix/test-passed
lib/sbcl/sb-posix/test-lab/.keep_me
+lib/sbcl/sb-queue/sb-queue.fasl
lib/sbcl/sb-rotate-byte/.cvsignore
lib/sbcl/sb-rotate-byte/Makefile
lib/sbcl/sb-rotate-byte/README
@@ -221,6 +221,7 @@ lib/sbcl/site-systems/.keep_me
@dirrm lib/sbcl/sb-simple-streams
@dirrm lib/sbcl/sb-rt
@dirrm lib/sbcl/sb-rotate-byte
+@dirrm lib/sbcl/sb-queue
@dirrm lib/sbcl/sb-posix/alien
@dirrm lib/sbcl/sb-posix/test-lab
@dirrm lib/sbcl/sb-posix