diff options
author | bf <bf@FreeBSD.org> | 2013-03-03 23:55:04 +0800 |
---|---|---|
committer | bf <bf@FreeBSD.org> | 2013-03-03 23:55:04 +0800 |
commit | 3157042a4e760f5230dff4eebf8e189be34c21fa (patch) | |
tree | 8aed0df263b674b6b2e8e62a64b840dab9abcb22 /lang | |
parent | bd8082785b7a09a76440cbac8b25ab25fcbdb052 (diff) | |
download | freebsd-ports-graphics-3157042a4e760f5230dff4eebf8e189be34c21fa.tar.gz freebsd-ports-graphics-3157042a4e760f5230dff4eebf8e189be34c21fa.tar.zst freebsd-ports-graphics-3157042a4e760f5230dff4eebf8e189be34c21fa.zip |
update lang/sbcl to 1.1.5+bugfixes, and adjust dependent ports
Diffstat (limited to 'lang')
-rw-r--r-- | lang/sbcl/Makefile | 8 | ||||
-rw-r--r-- | lang/sbcl/distinfo | 8 | ||||
-rw-r--r-- | lang/sbcl/files/patch-20130303 | 101 |
3 files changed, 112 insertions, 5 deletions
diff --git a/lang/sbcl/Makefile b/lang/sbcl/Makefile index 564ab9672b5..87093a20d95 100644 --- a/lang/sbcl/Makefile +++ b/lang/sbcl/Makefile @@ -5,7 +5,7 @@ # PORTNAME= sbcl -PORTVERSION= 1.1.4 +PORTVERSION= 1.1.5 PORTEPOCH= 1 CATEGORIES= lang lisp MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION} \ @@ -175,6 +175,12 @@ post-patch: ${WRKSRC}/tests/threads.impure.lisp @${REINPLACE_CMD} -e 's|( cd ./doc ; sh ./clean.sh )|#&|' \ ${WRKSRC}/clean.sh + @case "`${CC} --version`" in \ + *clang*) \ + ${REINPLACE_CMD} -e '/#define END()/s/\.end//' \ + ${WRKSRC}/src/runtime/x86-assem.S \ + ${WRKSRC}/src/runtime/x86-64-assem.S ;; \ + esac do-build: @${FIND} ${WRKSRC} \( -name '*.orig' -o -name '*.bak' \) -delete diff --git a/lang/sbcl/distinfo b/lang/sbcl/distinfo index f659fadfd21..0a14bfeb043 100644 --- a/lang/sbcl/distinfo +++ b/lang/sbcl/distinfo @@ -1,7 +1,7 @@ -SHA256 (sbcl-1.1.4-source.tar.bz2) = 468bd52f8a15584ffdca2356f6c85b7053a72a321c309dfff37e340d0d4af7cc -SIZE (sbcl-1.1.4-source.tar.bz2) = 3702076 -SHA256 (sbcl-1.1.4-documentation-html.tar.bz2) = d474ef7a50c4e53d5882dab237daa102b6675e86d206744b74b7bb5c253dd390 -SIZE (sbcl-1.1.4-documentation-html.tar.bz2) = 178787 +SHA256 (sbcl-1.1.5-source.tar.bz2) = e870780f85586d87c6873e2252bfbf6a0e80bbe433cb2c573e3ae704954a9107 +SIZE (sbcl-1.1.5-source.tar.bz2) = 3716584 +SHA256 (sbcl-1.1.5-documentation-html.tar.bz2) = 1b196bf5a0807acf0bdfef5785c5d667fdb27858145efaa5ca376cd37c8659e0 +SIZE (sbcl-1.1.5-documentation-html.tar.bz2) = 180398 SHA256 (sbcl-1.0.31-amd64-freebsd8-binary.tar.bz2) = 06a1e4e3a5f5f8e012ff6037a51624d7d1f34bff0979ce45e70418a293412b4e SIZE (sbcl-1.0.31-amd64-freebsd8-binary.tar.bz2) = 8397764 SHA256 (sbcl-1.0.31-amd64-freebsd7-binary.tar.bz2) = fcbd5ed1948312a7b6eff7e6daf736e41be945a2c57bcee4b64f172ddde518b8 diff --git a/lang/sbcl/files/patch-20130303 b/lang/sbcl/files/patch-20130303 new file mode 100644 index 00000000000..8406a09cf71 --- /dev/null +++ b/lang/sbcl/files/patch-20130303 @@ -0,0 +1,101 @@ +diff --git NEWS NEWS +index ca2919b..5ff7f27 100644 +--- NEWS ++++ NEWS +@@ -1,4 +1,9 @@ + ;;;; -*- coding: utf-8; fill-column: 78 -*- ++changes relative to sbcl-1.1.5: ++ * bug fix: Prevent a make-array transform from modifying source forms ++ causing problems for inlined code. Thanks to Bart Botta. ++ (regression since 1.0.42.11-bis) ++ + changes in sbcl-1.1.5 relative to sbcl-1.1.4: + * minor incompatible change: SB-SPROF:WITH-PROFILING no longer loops + by default. +diff --git src/compiler/array-tran.lisp src/compiler/array-tran.lisp +index baf1b98..02c5c37 100644 +--- src/compiler/array-tran.lisp ++++ src/compiler/array-tran.lisp +@@ -372,7 +372,8 @@ + (values dimensions nil)))) + (let ((initial-contents (getf keyargs :initial-contents))) + (when (and initial-contents rank) +- (setf (getf keyargs :initial-contents) ++ (setf keyargs (copy-list keyargs) ++ (getf keyargs :initial-contents) + (rewrite-initial-contents rank initial-contents env)))) + `(locally (declare (notinline list vector)) + (make-array ,new-dimensions ,@keyargs))))) +diff --git tests/float.impure.lisp tests/float.impure.lisp +index daef1f2..29ca23b 100644 +--- tests/float.impure.lisp ++++ tests/float.impure.lisp +@@ -248,8 +248,11 @@ + (flet ((almost= (x y) + (< (abs (- x y)) 1d-5))) + (macrolet ((foo (op value) +- `(assert (almost= (,op (mod ,value (* 2 pi))) +- (,op ,value))))) ++ `(let ((actual (,op ,value)) ++ (expected (,op (mod ,value (* 2 pi))))) ++ (unless (almost= actual expected) ++ (error "Inaccurate result for ~a: expected ~a, got ~a" ++ (list ',op ,value) expected actual))))) + (let ((big (* pi (expt 2d0 70))) + (mid (coerce most-positive-fixnum 'double-float)) + (odd (* pi most-positive-fixnum))) +diff --git tests/test-util.lisp tests/test-util.lisp +index 20b2c54..d6246bf 100644 +--- tests/test-util.lisp ++++ tests/test-util.lisp +@@ -39,7 +39,7 @@ + (defmacro with-test ((&key fails-on broken-on skipped-on name) + &body body) + (let ((block-name (gensym)) +- (threads (gensym "THREADS"))) ++ #+sb-thread (threads (gensym "THREADS"))) + `(progn + (start-test) + (cond +diff --git tests/threads.impure.lisp tests/threads.impure.lisp +index ddd1ef0..7ebc17c 100644 +--- tests/threads.impure.lisp ++++ tests/threads.impure.lisp +@@ -37,18 +37,6 @@ + (with-mutex (mutex) + mutex))) + +-(with-test (:name (:with-mutex :timeout)) +- (let ((m (make-mutex))) +- (with-mutex (m) +- (assert (null (join-thread (make-thread +- (lambda () +- (with-mutex (m :timeout 0.1) +- t))))))) +- (assert (join-thread (make-thread +- (lambda () +- (with-mutex (m :timeout 0.1) +- t))))))) +- + (sb-alien:define-alien-routine "check_deferrables_blocked_or_lose" + void + (where sb-alien:unsigned-long)) +@@ -84,6 +72,18 @@ + + ;;;; Now the real tests... + ++(with-test (:name (:with-mutex :timeout)) ++ (let ((m (make-mutex))) ++ (with-mutex (m) ++ (assert (null (join-thread (make-thread ++ (lambda () ++ (with-mutex (m :timeout 0.1) ++ t))))))) ++ (assert (join-thread (make-thread ++ (lambda () ++ (with-mutex (m :timeout 0.1) ++ t))))))) ++ + (with-test (:name (:interrupt-thread :deferrables-unblocked-by-lock)) + (let ((lock (sb-thread::make-mutex)) + (thread (make-join-thread (lambda () |