<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -63,8 +63,16 @@
   ;; then XCVB's SBCL will export SBCL_HOME which will confuse the target.
   ;; And so, to provide deterministic behavior whatever the build implementation is,
   ;; we unset SBCL_HOME when invoking the target SBCL.
-  (append
-   (when (eq *lisp-implementation-type* :sbcl) '(&quot;env&quot; &quot;-u&quot; &quot;SBCL_HOME&quot;))
-   (lisp-invocation-arglist
-    :eval (format nil &quot;(progn ~A (finish-output) ~A)&quot;
-                  query-string (quit-form :code 0)))))
+  ;;
+  ;; I used to append (&quot;env&quot; &quot;-u&quot; &quot;SBCL_HOME&quot;) to the arglist
+  ;; when the target implementation type was sbcl, and
+  ;; whichever implementation XCVB itself was using,
+  ;; so the semantics of XCVB would not depend on said implementation,
+  ;; but -u is apparently a GNU extension not available on other systems
+  ;; (most notably BSD systems including OS X),
+  ;; so I instead resort to unsetting SBCL_HOME when the XCVB implementation is sbcl.
+  ;; Ouch.
+  #+sbcl (sb-posix:putenv &quot;SBCL_HOME=&quot;)
+  (lisp-invocation-arglist
+   :eval (format nil &quot;(progn ~A (finish-output) ~A)&quot;
+                 query-string (quit-form :code 0))))</diff>
      <filename>extract-target-properties.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -96,7 +96,7 @@
   (posix:setpgrp))
 
 (defun posix-waitpid (pid options)
-  (multiple-value-list (apply #'linux:wait :pid pid options)))
+  (multiple-value-list (apply #'posix:wait :pid pid options)))
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
 (defun posix-waitpid-options (&amp;rest keys &amp;key nohang untraced)</diff>
      <filename>forker.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -24,7 +24,7 @@
          (_g (graph-for-build-grain env build))
          (inputs (loop :for computation :in (reverse *computations*)
                    :collect (first (computation-inputs computation))))
-         (asdfile (object-namestring nil (strcat &quot;/&quot; asdf-name &quot;.asd&quot;)))
+         (asdfile (object-namestring env (strcat &quot;/&quot; asdf-name &quot;.asd&quot;)))
          (_w (do-write-asd-file :output-path asdfile :build build-name :asdf-name asdf-name))
          (image-name `(:image ,(strcat &quot;/&quot; asdf-name)))
          (image (make-grain 'image-grain :fullname image-name))</diff>
      <filename>ne-makefile-backend.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -60,13 +60,23 @@ and the non-enforcing Makefile backend.
 (defvar *asdf-system-dependencies* nil
   &quot;A list of asdf system we depend upon&quot;)
 
-(define-graph-for :asdf ((env simplifying-traversal) system-name)
+#|(define-graph-for :asdf ((env simplifying-traversal) system-name)
   (pushnew system-name *asdf-system-dependencies* :test 'equal)
-  nil)
+  nil)|#
+
 
 (defvar *require-dependencies* nil
   &quot;A list of require features we depend upon&quot;)
 
-(define-graph-for :require ((env simplifying-traversal) name)
+(define-build-command-for :asdf ((env simplifying-traversal) name)
+  (pushnew name *asdf-system-dependencies* :test 'equal)
+  (values))
+
+#|(define-graph-for :require ((env simplifying-traversal) name)
   (pushnew name *require-dependencies* :test 'equal)
   nil)
+|#
+
+(define-build-command-for :require ((env simplifying-traversal) name)
+  (pushnew name *require-dependencies* :test 'equal)
+  (values))</diff>
      <filename>simplifying-traversal.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -8,10 +8,7 @@
   ())
 
 (defclass static-traversal (enforcing-traversal)
-  ((image-setup
-    :accessor image-setup
-    :documentation &quot;xcvb-driver-command options to setup the image for the current world&quot;)
-   (included-dependencies
+  ((included-dependencies
     :initform (make-hashset :test 'equal)
     :accessor included-dependencies
     :documentation &quot;dependencies included in the current world, as a set&quot;)
@@ -221,15 +218,6 @@
    :in in
    :fullname `(:source ,name :in ,in)))
 
-(define-graph-for :asdf ((env enforcing-traversal) system-name)
-  (declare (ignore env))
-  (make-asdf-grain :name system-name
-                   :implementation *lisp-implementation-type*))
-
-(define-graph-for :require ((env enforcing-traversal) name)
-  (declare (ignore env))
-  (make-require-grain :name name))
-
 (define-graph-for :fasl ((env enforcing-traversal) lisp-name)
   (first (graph-for-fasls env lisp-name)))
 </diff>
      <filename>static-backends.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -27,7 +27,10 @@
 (defgeneric graph-for-require (env name))
 
 (defclass xcvb-traversal (simple-print-object-mixin)
-  ((grain-names
+  ((image-setup
+    :accessor image-setup
+    :documentation &quot;xcvb-driver-command options to setup the image for the current world&quot;)
+   (grain-names
     :initform nil
     :initarg :grain-names
     :reader traversed-grain-names-r
@@ -93,3 +96,12 @@
 
 (defmethod build-command-issued-p ((env xcvb-traversal) command)
   (values (gethash command (issued-build-commands env))))
+
+(define-graph-for :asdf ((env xcvb-traversal) system-name)
+  (declare (ignore env))
+  (make-asdf-grain :name system-name
+                   :implementation *lisp-implementation-type*))
+
+(define-graph-for :require ((env xcvb-traversal) name)
+  (declare (ignore env))
+  (make-require-grain :name name))</diff>
      <filename>traversal.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,3 @@
 #+xcvb (module (:depends-on (&quot;pkgdcl&quot;)))
 (cl:defparameter xcvb:*xcvb-version*
-  &quot;0.419&quot;)
+  &quot;0.420&quot;)</diff>
      <filename>version.lisp</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>07fc34267159844507a21eee79d7358a89c0ef3c</id>
    </parent>
  </parents>
  <author>
    <name>Francois-Rene Rideau</name>
    <email>fare@tunes.org</email>
  </author>
  <url>http://github.com/fare/xcvb/commit/9a2b2f50de77977206857b13cce8162122de7675</url>
  <id>9a2b2f50de77977206857b13cce8162122de7675</id>
  <committed-date>2009-11-05T04:18:51-08:00</committed-date>
  <authored-date>2009-11-05T04:18:51-08:00</authored-date>
  <message>XCVB .420: Unbreak the POIU backend.
change SBCL_HOME unsetting to be less uniform but more portable.
Fix posix-wait in CLISP as in the recent POIU fix.
My, we need a regression test suite!</message>
  <tree>9f63fde3d73772b2a54e295a02f5ba0a519f4d00</tree>
  <committer>
    <name>Francois-Rene Rideau</name>
    <email>fare@tunes.org</email>
  </committer>
</commit>
