From a870b7d635984ed4004940004724f823f98eb0fa Mon Sep 17 00:00:00 2001
From: Eduardo Cavazos <dharmatech@finkelstein.stackeffects.info>
Date: Fri, 4 Apr 2008 12:26:39 -0500
Subject: [PATCH 1/4] builder: remove reference to 'cwd'

---
 extra/builder/builder.factor | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/extra/builder/builder.factor b/extra/builder/builder.factor
index 75664ce5e5..2982f675b4 100644
--- a/extra/builder/builder.factor
+++ b/extra/builder/builder.factor
@@ -127,10 +127,10 @@ SYMBOL: build-status
 
   "report" utf8
     [
-      "Build machine:   " write host-name print
-      "CPU:             " write cpu       print
-      "OS:              " write os        print
-      "Build directory: " write cwd       print
+      "Build machine:   " write host-name             print
+      "CPU:             " write cpu                   print
+      "OS:              " write os                    print
+      "Build directory: " write current-directory get print
 
       git-clone [ "git clone failed" print ] run-or-bail
 

From 89d4c4ca595d96f831cac149cd58feeb0690ff99 Mon Sep 17 00:00:00 2001
From: Eduardo Cavazos <dharmatech@finkelstein.stackeffects.info>
Date: Fri, 4 Apr 2008 12:27:30 -0500
Subject: [PATCH 2/4] newfx: add a couple of variants

---
 extra/newfx/newfx.factor | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/extra/newfx/newfx.factor b/extra/newfx/newfx.factor
index 53cda66dfc..ae92f8f6c0 100644
--- a/extra/newfx/newfx.factor
+++ b/extra/newfx/newfx.factor
@@ -22,11 +22,16 @@ IN: newfx
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
+: nth-is-of (   i val seq -- seq ) dup >r swapd set-nth r> ;
+: is-nth-of ( val   i seq -- seq ) dup >r       set-nth r> ;
+
+! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
 : mutate-nth    ( seq i val -- ) swap rot set-nth ;
-: mutate-at-nth ( seq val i -- )      rot set-nth ;
+: mutate-nth-at ( seq val i -- )      rot set-nth ;
 
 : mutate-nth-of    (   i val seq -- ) swapd set-nth ;
-: mutate-at-nth-of ( val   i seq -- )       set-nth ;
+: mutate-nth-at-of ( val   i seq -- )       set-nth ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 

From a245dcb0c9bbd5a88a9eda47470acc58c608d618 Mon Sep 17 00:00:00 2001
From: Eduardo Cavazos <dharmatech@finkelstein.stackeffects.info>
Date: Fri, 4 Apr 2008 12:40:25 -0500
Subject: [PATCH 3/4] builder: up bootstrap timeout to 60 minutes (yikes!)

---
 extra/builder/builder.factor | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/extra/builder/builder.factor b/extra/builder/builder.factor
index c555233410..d335403b2c 100644
--- a/extra/builder/builder.factor
+++ b/extra/builder/builder.factor
@@ -13,8 +13,6 @@ IN: builder
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-! : cd ( path -- ) current-directory set ;
-
 : cd ( path -- ) set-current-directory ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -56,18 +54,10 @@ IN: builder
     [ "make"  ]
   if ;
 
-! : do-make-clean ( -- ) { "make" "clean" } try-process ;
-
 : do-make-clean ( -- ) { gnu-make "clean" } to-strings try-process ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-! : make-vm ( -- desc )
-!   <process>
-!     { "make" }       >>command
-!     "../compile-log" >>stdout
-!     +stdout+         >>stderr ;
-
 : make-vm ( -- desc )
   <process>
     { gnu-make } to-strings >>command
@@ -94,7 +84,7 @@ IN: builder
     +closed+      >>stdin
     "../boot-log" >>stdout
     +stdout+      >>stderr
-    20 minutes    >>timeout ;
+    60 minutes    >>timeout ;
 
 : do-bootstrap ( -- )
   bootstrap [ "Bootstrap error" print "../boot-log" cat ] run-or-bail ;

From 5f50c1cbffbac2e3d3b91d810a252b193a772bf8 Mon Sep 17 00:00:00 2001
From: Eduardo Cavazos <dharmatech@finkelstein.stackeffects.info>
Date: Fri, 4 Apr 2008 15:22:21 -0500
Subject: [PATCH 4/4] builder: update to handle latest changes

---
 extra/builder/builder.factor         |  8 ++----
 extra/builder/release/release.factor | 26 +++++++++---------
 extra/builder/test/test.factor       | 41 ++++++++++++----------------
 3 files changed, 34 insertions(+), 41 deletions(-)

diff --git a/extra/builder/builder.factor b/extra/builder/builder.factor
index d335403b2c..141a78304a 100644
--- a/extra/builder/builder.factor
+++ b/extra/builder/builder.factor
@@ -49,7 +49,7 @@ IN: builder
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 : gnu-make ( -- string )
-  os { "freebsd" "openbsd" "netbsd" } member?
+  os { freebsd openbsd netbsd } member?
     [ "gmake" ]
     [ "make"  ]
   if ;
@@ -118,8 +118,8 @@ SYMBOL: build-status
   "report" utf8
     [
       "Build machine:   " write host-name             print
-      "CPU:             " write cpu                   print
-      "OS:              " write os                    print
+      "CPU:             " write cpu                   .
+      "OS:              " write os                    .
       "Build directory: " write current-directory get print
 
       git-clone [ "git clone failed" print ] run-or-bail
@@ -148,8 +148,6 @@ SYMBOL: build-status
       "Did not pass test-all: "        print "test-all-vocabs"        cat
                                              "test-failures"          cat
       
-!       "test-failures" eval-file test-failures.
-      
       "help-lint results:"             print "help-lint"              cat
 
       "Benchmarks: " print "benchmarks" eval-file benchmarks.
diff --git a/extra/builder/release/release.factor b/extra/builder/release/release.factor
index d76eda8013..9b449a51c5 100644
--- a/extra/builder/release/release.factor
+++ b/extra/builder/release/release.factor
@@ -1,6 +1,6 @@
 
 USING: kernel system namespaces sequences splitting combinators
-       io io.files io.launcher
+       io io.files io.launcher prettyprint
        bake combinators.cleave builder.common builder.util ;
 
 IN: builder.release
@@ -33,22 +33,22 @@ IN: builder.release
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-: cpu- ( -- cpu ) cpu "." split "-" join ;
+: cpu- ( -- cpu ) cpu unparse "." split "-" join ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-: base-name ( -- string ) { "factor" os cpu- stamp> } to-strings "-" join ;
+: base-name ( -- string )
+  { "factor" [ os unparse ] cpu- stamp> } to-strings "-" join ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 : extension ( -- extension )
-  os
   {
-    { "linux" [ ".tar.gz" ] }
-    { "winnt" [ ".zip" ] }
-    { "macosx" [ ".dmg" ] }
+    { [ os winnt?  ] [ ".zip"    ] }  
+    { [ os macosx? ] [ ".dmg"    ] }
+    { [ os unix?   ] [ ".tar.gz" ] }
   }
-  case ;
+  cond ;
 
 : archive-name ( -- string ) base-name extension append ;
 
@@ -69,9 +69,9 @@ IN: builder.release
 
 : archive-cmd ( -- cmd )
   {
-    { [ windows? ] [ windows-archive-cmd ] }
-    { [ macosx?  ] [ macosx-archive-cmd  ] }
-    { [ unix?    ] [ unix-archive-cmd    ] }
+    { [ os windows? ] [ windows-archive-cmd ] }
+    { [ os macosx?  ] [ macosx-archive-cmd  ] }
+    { [ os unix?    ] [ unix-archive-cmd    ] }
   }
   cond ;
 
@@ -83,13 +83,13 @@ IN: builder.release
   { "rm" "-rf" common-files } to-strings try-process ;
 
 : remove-factor-app ( -- )
-  macosx? not [ { "rm" "-rf" "Factor.app" } try-process ] when ;
+  os macosx? not [ { "rm" "-rf" "Factor.app" } try-process ] when ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 SYMBOL: upload-to-factorcode
 
-: platform ( -- string ) { os cpu- } to-strings "-" join ;
+: platform ( -- string ) { [ os unparse ] cpu- } to-strings "-" join ;
 
 : remote-location ( -- dest )
   "factorcode.org:/var/www/factorcode.org/newsite/downloads"
diff --git a/extra/builder/test/test.factor b/extra/builder/test/test.factor
index 3634082f56..d5c3e9cd94 100644
--- a/extra/builder/test/test.factor
+++ b/extra/builder/test/test.factor
@@ -1,40 +1,35 @@
 
-USING: kernel namespaces sequences assocs builder continuations
-       vocabs vocabs.loader
-       io
-       io.files
-       prettyprint
-       tools.vocabs
-       tools.test
-       io.encodings.utf8
-       combinators.cleave
+! USING: kernel namespaces sequences assocs continuations
+!        vocabs vocabs.loader
+!        io
+!        io.files
+!        prettyprint
+!        tools.vocabs
+!        tools.test
+!        io.encodings.utf8
+!        combinators.cleave
+!        help.lint
+!        bootstrap.stage2 benchmark builder.util ;
+
+USING: kernel namespaces assocs
+       io.files io.encodings.utf8 prettyprint 
        help.lint
-       bootstrap.stage2 benchmark builder.util ;
+       benchmark
+       bootstrap.stage2
+       tools.test tools.vocabs
+       builder.util ;
 
 IN: builder.test
 
 : do-load ( -- )
   try-everything keys "../load-everything-vocabs" utf8 [ . ] with-file-writer ;
 
-! : do-tests ( -- )
-!   run-all-tests keys "../test-all-vocabs" utf8 [ . ] with-file-writer ;
-
 : do-tests ( -- )
   run-all-tests
     [ keys "../test-all-vocabs" utf8 [ .              ] with-file-writer ]
     [      "../test-failures"   utf8 [ test-failures. ] with-file-writer ]
   bi ;
 
-! : do-tests ( -- )
-!   run-all-tests
-!   "../test-all-vocabs" utf8
-!     [
-!         [ keys . ]
-!         [ test-failures. ]
-!       bi
-!     ]
-!   with-file-writer ;
-
 : do-help-lint ( -- )
   "" run-help-lint "../help-lint" utf8 [ typos. ] with-file-writer ;