ports/86656: Update port: lang/sbcl to 0.9.5

NIIMI Satoshi sa2c at sa2c.net
Tue Sep 27 23:50:15 UTC 2005


>Number:         86656
>Category:       ports
>Synopsis:       Update port: lang/sbcl to 0.9.5
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Sep 27 23:50:13 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     NIIMI Satoshi
>Release:        FreeBSD 5.4-RELEASE-p7 i386
>Organization:
>Environment:
System: FreeBSD berkeley.l.sa2c.net 5.4-RELEASE-p7 FreeBSD 5.4-RELEASE-p7 #3: Thu Sep 8 09:59:30 JST 2005 root at berkeley.l.sa2c.net:/usr/obj/usr/src/sys/MYKERNEL i386


	
>Description:
Update of lang/sbcl to 0.9.5.
This PR supersedes ports/85337.
	
>How-To-Repeat:
	
>Fix:

	

--- sbcl.diff begins here ---
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/lang/sbcl/Makefile,v
retrieving revision 1.17
diff -u -r1.17 Makefile
--- Makefile	20 Dec 2004 20:03:03 -0000	1.17
+++ Makefile	27 Sep 2005 23:41:22 -0000
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	sbcl
-PORTVERSION=	0.8.17
+PORTVERSION=	0.9.5
 CATEGORIES=	lang
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
 MASTER_SITE_SUBDIR=	sbcl
@@ -52,4 +52,10 @@
 	${RMDIR} ${DOCSDIR}/html ${DOCSDIR}/info
 .endif
 
+test:
+	(cd ${WRKSRC}/tests && ${SH} run-tests.sh)
+
+post-patch:
+	${FIND} ${WRKSRC} -name '*.orig' -delete
+
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/lang/sbcl/distinfo,v
retrieving revision 1.12
diff -u -r1.12 distinfo
--- distinfo	20 Dec 2004 20:03:03 -0000	1.12
+++ distinfo	27 Sep 2005 22:32:14 -0000
@@ -1,4 +1,4 @@
-MD5 (sbcl-0.8.17-source.tar.bz2) = 684d1a96496b46331dc50840db612909
-SIZE (sbcl-0.8.17-source.tar.bz2) = 2474794
-MD5 (sbcl-0.8.17-html.tar.bz2) = a5eea2768bf91e19ac1132928252382d
-SIZE (sbcl-0.8.17-html.tar.bz2) = 108720
+MD5 (sbcl-0.9.5-source.tar.bz2) = f594f18813c08f262a6df9a36288adcb
+SIZE (sbcl-0.9.5-source.tar.bz2) = 2658381
+MD5 (sbcl-0.9.5-html.tar.bz2) = 7b768d3299248be8f41fa856fa335b81
+SIZE (sbcl-0.9.5-html.tar.bz2) = 117514
Index: pkg-plist
===================================================================
RCS file: /home/ncvs/ports/lang/sbcl/pkg-plist,v
retrieving revision 1.14
diff -u -r1.14 pkg-plist
--- pkg-plist	20 Dec 2004 20:03:03 -0000	1.14
+++ pkg-plist	27 Sep 2005 23:31:17 -0000
@@ -52,11 +52,15 @@
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Condition-sb_002dext_003apackage_002dlock_002dviolation.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Condition-sb_002dext_003apackage_002dlocked_002derror.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Condition-sb_002dext_003asymbol_002dpackage_002dlocked_002derror.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Condition-sb_002dthread_003ainterrupt_002dthread_002derror.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Contributed-Modules.html
-%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Controlling-Printing-in-the-Debugger.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Controlling-Verbosity.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Customization-Hooks-for-Users.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Debug-Tail-Recursion.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Debugger-Banner.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Debugger-Command-Loop.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Debugger-Entry.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Debugger-Invokation.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Debugger-Policy-Control.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Debugger.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Declarations-as-Assertions.html
@@ -71,6 +75,7 @@
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Efficiency-Hacks.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Efficiency.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/End-of-File.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Entry-Point-Details.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Errors-During-Macroexpansion.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Exit-on-Errors.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Exiting-Commands.html
@@ -107,7 +112,12 @@
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002dreuse_002daddress.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002dtcp_002dnodelay.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aadd_002dimplementation_002dpackage.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003acancel_002dfinalization.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003afinalize.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003alist_002dall_002dtimers.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003alock_002dpackage.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003amake_002dtimer.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003amake_002dweak_002dpointer.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003apackage_002dimplemented_002dby_002dlist.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003apackage_002dimplements_002dlist.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003apackage_002dlocked_002dp.html
@@ -116,10 +126,16 @@
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aquit.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aremove_002dimplementation_002dpackage.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003asave_002dlisp_002dand_002ddie.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aschedule_002dtimer.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003atimer_002dname.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003atimer_002dscheduled_002dp.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aunlock_002dpackage.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aunschedule_002dtimer.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aweak_002dpointer_002dvalue.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dmd5_003amd5sum_002dfile.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dmd5_003amd5sum_002dsequence.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dmd5_003amd5sum_002dstream.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dmd5_003amd5sum_002dstring.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dprofile_003areport.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dprofile_003areset.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002drotate_002dbyte_003arotate_002dbyte.html
@@ -127,7 +143,24 @@
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dsprof_003areset.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dsprof_003astart_002dprofiling.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dsprof_003astop_002dprofiling.html
-%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Funny-Frames.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003acondition_002dbroadcast.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003acondition_002dnotify.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003acondition_002dwait.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003aget_002dmutex.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003ainterrupt_002dthread.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003ainterrupt_002dthread_002derror_002derrno.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003ainterrupt_002dthread_002derror_002dthread.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003alist_002dall_002dthreads.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003amake_002dmutex.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003amake_002dthread.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003amake_002dwaitqueue.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003amutex_002dname.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003amutex_002dvalue.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003arelease_002dmutex.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003aterminate_002dthread.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003athread_002dalive_002dp.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003awaitqueue_002dname.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Garbage-Collection.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/General-Sockets.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003ahost_002dent_002daddress.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003anon_002dblocking_002dmode.html
@@ -138,6 +171,7 @@
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dlisten.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dmake_002dstream.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dname.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dopen_002dp.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dpeername.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dreceive.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dadvance_002dto_002dcolumn.html
@@ -193,6 +227,9 @@
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-sb_002dprofile_003aprofile.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-sb_002dprofile_003aunprofile.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-sb_002dsprof_003awith_002dprofiling.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-sb_002dthread_003awith_002dmutex.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-sb_002dthread_003awith_002drecursive_002dlock.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Metaobject-Protocol.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Modular-arithmetic.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/More-Common-Lisp-Information.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/More-SBCL-Information.html
@@ -235,22 +272,25 @@
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Stale-Extensions.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Starting-SBCL.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Starting-and-Stopping.html
-%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Starting-the-Debugger.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Statistical-Profiler.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Step_002dBy_002dStep-Example-of-the-Foreign-Function-Interface.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Stopping-SBCL.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Structure-sb_002dext_003atimer.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Structure-sb_002dthread_003amutex.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Structure-sb_002dthread_003athread.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Structure-sb_002dthread_003awaitqueue.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Style-Warnings.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Support-For-Unix.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/System-Initialization-File.html
-%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/The-Debugger-Command-Loop.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/The-Original-and-Actual-Source.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/The-Parts-of-a-Compiler-Diagnostic.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/The-Processing-Path.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/The-alien_002dfuncall-Primitive.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/The-define_002dalien_002droutine-Macro.html
-%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Things-Which-Might-Be-In-The-Next-ANSI-Standard.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Third_002dparty-Libraries.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Threading-basics.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Threading.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Timers.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Tools-To-Help-Developers.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Toplevel-Options.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Type-Errors-at-Compile-Time.html
@@ -266,6 +306,7 @@
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002ddebug_003a_002atrace_002dencapsulate_002ddefault_002a.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002ddebug_003a_002atrace_002dindentation_002dstep_002a.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002ddebug_003a_002atrace_002dvalues_002a.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dext_003a_002aafter_002dgc_002dhooks_002a.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dext_003a_002acompiler_002dprint_002dvariable_002dalist_002a.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dext_003a_002adebug_002dprint_002dvariable_002dalist_002a.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dext_003a_002aed_002dfunctions_002a.html
@@ -273,6 +314,7 @@
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dext_003a_002amodule_002dprovider_002dfunctions_002a.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dsprof_003a_002amax_002dsamples_002a.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dsprof_003a_002asample_002dinterval_002a.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dthread_003a_002acurrent_002dthread_002a.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Waitqueue_002fcondition-variables.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/define_002dalien_002droutine-Example.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/index.html
@@ -379,6 +421,17 @@
 lib/sbcl/sb-grovel/sb-grovel.texinfo
 lib/sbcl/sb-grovel/test-passed
 lib/sbcl/sb-introspect/sb-introspect.fasl
+lib/sbcl/sb-md5/.cvsignore
+lib/sbcl/sb-md5/Makefile
+lib/sbcl/sb-md5/README
+lib/sbcl/sb-md5/md5-tests.fasl
+lib/sbcl/sb-md5/md5-tests.lisp
+lib/sbcl/sb-md5/md5.fasl
+lib/sbcl/sb-md5/md5.lisp
+lib/sbcl/sb-md5/sb-md5.asd
+lib/sbcl/sb-md5/sb-md5.fasl
+lib/sbcl/sb-md5/sb-md5.texinfo
+lib/sbcl/sb-md5/test-passed
 lib/sbcl/sb-posix/.cvsignore
 lib/sbcl/sb-posix/Makefile
 lib/sbcl/sb-posix/README
@@ -466,7 +519,6 @@
 lib/sbcl/sb-simple-streams/string.lisp
 lib/sbcl/sb-simple-streams/terminal.fasl
 lib/sbcl/sb-simple-streams/terminal.lisp
-lib/sbcl/sb-simple-streams/test-data.tmp
 lib/sbcl/sb-simple-streams/test-passed
 lib/sbcl/sb-sprof/sb-sprof.fasl
 lib/sbcl/sbcl.core
@@ -475,6 +527,7 @@
 lib/sbcl/systems/sb-bsd-sockets.asd
 lib/sbcl/systems/sb-cltl2.asd
 lib/sbcl/systems/sb-grovel.asd
+lib/sbcl/systems/sb-md5.asd
 lib/sbcl/systems/sb-posix.asd
 lib/sbcl/systems/sb-rotate-byte.asd
 lib/sbcl/systems/sb-rt.asd
@@ -493,6 +546,7 @@
 @dirrm lib/sbcl/sb-posix/test-lab
 @dirrm lib/sbcl/sb-posix/alien
 @dirrm lib/sbcl/sb-posix
+ at dirrm lib/sbcl/sb-md5
 @dirrm lib/sbcl/sb-introspect
 @dirrm lib/sbcl/sb-grovel
 @dirrm lib/sbcl/sb-executable
Index: files/patch-asdf-install
===================================================================
RCS file: files/patch-asdf-install
diff -N files/patch-asdf-install
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-asdf-install	27 Aug 2005 01:37:35 -0000
@@ -0,0 +1,19 @@
+Index: contrib/asdf-install/installer.lisp
+===================================================================
+RCS file: /cvsroot/sbcl/sbcl/contrib/asdf-install/installer.lisp,v
+retrieving revision 1.11
+diff -u -r1.11 installer.lisp
+--- contrib/asdf-install/installer.lisp	14 Jul 2005 16:30:06 -0000	1.11
++++ contrib/asdf-install/installer.lisp	27 Aug 2005 01:36:05 -0000
+@@ -249,8 +249,10 @@
+   (let* ((tar
+           (with-output-to-string (o)
+             (or
+-             (sb-ext:run-program #-darwin "tar"
++             (sb-ext:run-program #-(or darwin freebsd) "tar"
+                                  #+darwin "gnutar"
++                                 #+freebsd (or (sb-ext:find-executable-in-search-path "gtar")
++                                               "tar")
+                                  (list "-C" (namestring source)
+                                        "-xzvf" (namestring packagename))
+                                  :output o
Index: files/patch-backtrace
===================================================================
RCS file: files/patch-backtrace
diff -N files/patch-backtrace
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-backtrace	27 Aug 2005 01:37:35 -0000
@@ -0,0 +1,17 @@
+Index: src/code/debug-int.lisp
+===================================================================
+RCS file: /cvsroot/sbcl/sbcl/src/code/debug-int.lisp,v
+retrieving revision 1.97
+diff -u -r1.97 debug-int.lisp
+--- src/code/debug-int.lisp	14 Jul 2005 16:30:31 -0000	1.97
++++ src/code/debug-int.lisp	27 Aug 2005 01:36:06 -0000
+@@ -572,6 +572,9 @@
+    ;; FIXME: Where is this documented? Is it really true of every CPU
+    ;; architecture? Is it even necessarily true in current SBCL?
+    (>= (sap-int ra) 4096)
++   ;; On FreeBSD, kernel area is not valid as return address.
++   ;; FIXME: How to obtain the address instead of magic number?
++   #!+freebsd (< (sap-int ra) #xC0000000)
+    ;; not a Lisp stack pointer
+    (not (control-stack-pointer-valid-p ra))))
+ 
Index: files/patch-floating-point
===================================================================
RCS file: files/patch-floating-point
diff -N files/patch-floating-point
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-floating-point	27 Sep 2005 22:38:21 -0000
@@ -0,0 +1,207 @@
+Index: src/code/float-trap.lisp
+===================================================================
+RCS file: /cvsroot/sbcl/sbcl/src/code/float-trap.lisp,v
+retrieving revision 1.18
+diff -u -r1.18 float-trap.lisp
+--- src/code/float-trap.lisp	14 Jul 2005 16:30:34 -0000	1.18
++++ src/code/float-trap.lisp	27 Sep 2005 22:36:42 -0000
+@@ -153,10 +153,28 @@
+   `(not (zerop (logand ,(dpb (float-trap-mask traps) float-traps-byte 0)
+                        (floating-point-modes)))))
+ 
++;;; SIGFPE code to floating-point error
++#+freebsd
++(defparameter *sigfpe-code-error-alist*
++  (list (cons sb!unix::fpe-intovf 'floating-point-overflow)
++        (cons sb!unix::fpe-intdiv 'division-by-zero)
++        (cons sb!unix::fpe-fltdiv 'division-by-zero)
++        (cons sb!unix::fpe-fltovf 'floating-point-overflow)
++        (cons sb!unix::fpe-fltund 'floating-point-underflow)
++        (cons sb!unix::fpe-fltres 'floating-point-inexact)
++        (cons sb!unix::fpe-fltinv 'floating-point-invalid-operation)
++        (cons sb!unix::fpe-fltsub 'floating-point-exception)))
++
+ ;;; Signal the appropriate condition when we get a floating-point error.
+ (defun sigfpe-handler (signal info context)
+-  (declare (ignore signal info))
++  (declare (ignore signal #!-freebsd info))
++  #!+freebsd
++  (declare (type system-area-pointer info))
+   (declare (type system-area-pointer context))
++  #!+freebsd
++  (let ((code (sb!unix::siginfo-code info)))
++    (error (or (cdr (assoc code *sigfpe-code-error-alist*))
++               'floating-point-exception)))
+   (let* ((modes (context-floating-point-modes
+                  (sb!alien:sap-alien context (* os-context-t))))
+          (traps (logand (ldb float-exceptions-byte modes)
+Index: src/code/target-signal.lisp
+===================================================================
+RCS file: /cvsroot/sbcl/sbcl/src/code/target-signal.lisp,v
+retrieving revision 1.28
+diff -u -r1.28 target-signal.lisp
+--- src/code/target-signal.lisp	4 Sep 2005 20:14:49 -0000	1.28
++++ src/code/target-signal.lisp	27 Sep 2005 22:36:42 -0000
+@@ -149,6 +149,10 @@
+ 
+ ;;;; etc.
+ 
++;;; extract si_code from siginfo_t
++(sb!alien:define-alien-routine ("siginfo_code" siginfo-code) sb!alien:int
++  (info system-area-pointer))
++
+ ;;; CMU CL comment:
+ ;;;   Magically converted by the compiler into a break instruction.
+ (defun receive-pending-interrupt ()
+Index: src/runtime/interrupt.c
+===================================================================
+RCS file: /cvsroot/sbcl/sbcl/src/runtime/interrupt.c,v
+retrieving revision 1.94
+diff -u -r1.94 interrupt.c
+--- src/runtime/interrupt.c	13 Sep 2005 12:28:41 -0000	1.94
++++ src/runtime/interrupt.c	27 Sep 2005 22:36:42 -0000
+@@ -426,7 +426,7 @@
+     if (sigismember(&deferrable_sigset,signal))
+         check_interrupts_enabled_or_lose(context);
+ 
+-#ifdef LISP_FEATURE_LINUX
++#if defined(LISP_FEATURE_LINUX) || defined(__FreeBSD__)
+     /* Under Linux on some architectures, we appear to have to restore
+        the FPU control word from the context, as after the signal is
+        delivered we appear to have a null FPU control word. */
+@@ -606,7 +606,7 @@
+     os_context_t *context = arch_os_get_context(&void_context);
+     struct thread *thread=arch_os_get_current_thread();
+     struct interrupt_data *data=thread->interrupt_data;
+-#ifdef LISP_FEATURE_LINUX
++#if defined(LISP_FEATURE_LINUX) || defined(__FreeBSD__)
+     os_restore_fp_control(context);
+ #endif
+     if(maybe_defer_handler(interrupt_handle_now,data,signal,info,context))
+@@ -623,7 +623,7 @@
+ {
+     os_context_t *context = (os_context_t*)void_context;
+ 
+-#ifdef LISP_FEATURE_LINUX
++#if defined(LISP_FEATURE_LINUX) || defined(__FreeBSD__)
+     os_restore_fp_control(context);
+ #endif
+     check_blockables_blocked_or_lose();
+@@ -641,7 +641,7 @@
+     os_context_t *context = arch_os_get_context(&void_context);
+     struct thread *thread=arch_os_get_current_thread();
+     struct interrupt_data *data=thread->interrupt_data;
+-#ifdef LISP_FEATURE_LINUX
++#if defined(LISP_FEATURE_LINUX) || defined(__FreeBSD__)
+     os_restore_fp_control(context);
+ #endif
+     if(maybe_defer_handler(low_level_interrupt_handle_now,data,
+@@ -1139,3 +1139,9 @@
+ 
+     SHOW("returning from interrupt_init()");
+ }
++
++int
++siginfo_code(siginfo_t *info)
++{
++    return info->si_code;
++}
+Index: src/runtime/x86-arch.c
+===================================================================
+RCS file: /cvsroot/sbcl/sbcl/src/runtime/x86-arch.c,v
+retrieving revision 1.32
+diff -u -r1.32 x86-arch.c
+--- src/runtime/x86-arch.c	27 Sep 2005 15:52:50 -0000	1.32
++++ src/runtime/x86-arch.c	27 Sep 2005 22:36:42 -0000
+@@ -229,7 +229,7 @@
+        single-stepping (as far as I can tell) this is somewhat moot,
+        but it might be worth either moving this code up or deleting
+        the single-stepping code entirely.  -- CSR, 2002-07-15 */
+-#ifdef LISP_FEATURE_LINUX
++#if defined(LISP_FEATURE_LINUX) || defined(__FreeBSD__)
+     os_restore_fp_control(context);
+ #endif
+ 
+Index: src/runtime/x86-bsd-os.c
+===================================================================
+RCS file: /cvsroot/sbcl/sbcl/src/runtime/x86-bsd-os.c,v
+retrieving revision 1.7
+diff -u -r1.7 x86-bsd-os.c
+--- src/runtime/x86-bsd-os.c	14 Jul 2005 15:41:21 -0000	1.7
++++ src/runtime/x86-bsd-os.c	27 Sep 2005 22:36:42 -0000
+@@ -85,6 +85,52 @@
+ #endif  /* __NetBSD__ */
+ 
+ 
++#ifdef __FreeBSD__
++#if __FreeBSD_version >= 500000
++/*
++ * FreeBSD 5.0 or later initializes FPU control word for signal
++ * handler.
++ */
++#include <machine/npx.h>
++
++static __inline__ void
++fldcw(unsigned short cw)
++{
++    __asm__ __volatile__ ("fldcw %0" : : "m" (cw));
++}
++
++void
++os_restore_fp_control(os_context_t *context)
++{
++    union savefpu *addr;
++
++    addr = (union savefpu *)context->uc_mcontext.mc_fpstate;
++    switch (context->uc_mcontext.mc_fpformat) {
++    case _MC_FPFMT_387:
++        /* FPU state is saved by fnsave */
++        fldcw((unsigned short)addr->sv_87.sv_env.en_cw);
++        break;
++    case _MC_FPFMT_XMM:
++        /* FPU/SSE state is saved by fxsave */
++        fldcw(addr->sv_xmm.sv_env.en_cw);
++        break;
++    default:
++        /* No FPU state is saved. */
++        break;
++    }
++}
++#else /* __FreeBSD_version < 500000 */
++/*
++ * FreeBSD befoer 5.0 does not touch FPU control word for signal
++ * handler.
++ */
++void
++os_restore_fp_control(os_context_t *context)
++{
++    /* DO NOTHING */
++}
++#endif /* __FreeBSD_version */
++#endif /* __FreeBSD__ */
+ 
+ /* FIXME: If this can be a no-op on BSD/x86, then it
+  * deserves a more precise name.
+Index: tools-for-build/grovel-headers.c
+===================================================================
+RCS file: /cvsroot/sbcl/sbcl/tools-for-build/grovel-headers.c,v
+retrieving revision 1.10
+diff -u -r1.10 grovel-headers.c
+--- tools-for-build/grovel-headers.c	14 Jul 2005 20:24:19 -0000	1.10
++++ tools-for-build/grovel-headers.c	27 Sep 2005 22:36:42 -0000
+@@ -223,5 +223,15 @@
+     defsignal("sigxcpu", SIGXCPU);
+     defsignal("sigxfsz", SIGXFSZ);
+ #endif
++#ifdef __FreeBSD__
++    defconstant("fpe-intovf", FPE_INTOVF);
++    defconstant("fpe-intdiv", FPE_INTDIV);
++    defconstant("fpe-fltdiv", FPE_FLTDIV);
++    defconstant("fpe-fltovf", FPE_FLTOVF);
++    defconstant("fpe-fltund", FPE_FLTUND);
++    defconstant("fpe-fltres", FPE_FLTRES);
++    defconstant("fpe-fltinv", FPE_FLTINV);
++    defconstant("fpe-fltsub", FPE_FLTSUB);
++#endif
+     return 0;
+ }
--- sbcl.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list