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 ;