~ chicken-core (chicken-5) f385034f4e1bffa298cf0baf9f40ad09de5561a0
commit f385034f4e1bffa298cf0baf9f40ad09de5561a0 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Thu Apr 21 21:59:16 2011 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Thu Apr 21 21:59:16 2011 +0200 chicken-install -scan diff --git a/chicken-install.scm b/chicken-install.scm index f567f533..dbca988e 100644 --- a/chicken-install.scm +++ b/chicken-install.scm @@ -38,6 +38,7 @@ (import foreign) (define +default-repository-files+ + ;;XXX keep this up-to-date! '("setup-api.so" "setup-api.import.so" "setup-download.so" "setup-download.import.so" "chicken.import.so" @@ -578,6 +579,12 @@ (print "mapped " eggs " to " eggs2)) eggs2)) + (define (scan-directory dir) + (for-each + (lambda (info) + (pp (cons (car info) (cadr info)))) + (gather-egg-information dir))) + (define ($system str) (let ((r (system (if *windows-shell* @@ -619,6 +626,7 @@ usage: chicken-install [OPTION | EXTENSION[:VERSION]] ... -D -feature FEATURE features to pass to sub-invocations of `csc' -debug enable full display of error message information -keep-going continue installation even if dependency fails + -scan DIRECTORY scan local directory for highest available egg versions EOF );| (exit code)) @@ -639,6 +647,7 @@ EOF (define (main args) (let ((update #f) + (scan #f) (rx (irregex "([^:]+):(.+)"))) (setup-proxy (get-environment-variable "http_proxy")) (let loop ((args args) (eggs '())) @@ -647,6 +656,7 @@ EOF (error "`-deploy' only makes sense in combination with `-prefix DIRECTORY`")) (update (update-db)) + (scan (scan-directory scan)) (else (let ((defaults (load-defaults))) (when (null? eggs) @@ -754,6 +764,10 @@ EOF (unless (pair? (cdr args)) (usage 1)) (set! *username* (cadr args)) (loop (cddr args) eggs)) + ((string=? "-scan" arg) + (unless (pair? (cdr args)) (usage 1)) + (set! scan (cadr args)) + (loop (cddr args) eggs)) ((string=? "-trunk" arg) (set! *trunk* #t) (loop (cdr args) eggs)) diff --git a/setup-download.scm b/setup-download.scm index 91ae67dd..f596d5bd 100644 --- a/setup-download.scm +++ b/setup-download.scm @@ -127,7 +127,7 @@ sos))) (values src ver)))))) - (define (gather-egg-information dir) ; used by salmonella + (define (gather-egg-information dir) ; used by salmonella (among others) (let ((ls (directory dir))) (filter-map (lambda (egg)Trap