Tue Sep 12 13:41:18 CEST 2006 address@hidden * - version-string extraction in CMakeLists.txt handles non-numeric subversion - version is 2.431 - chicken-setup: dependency-tree build should now really work [Thanks to Peter Bex] --- old-chicken/chicken-setup.scm 2006-09-12 13:45:10.263615024 +0200 +++ new-chicken/chicken-setup.scm 2006-09-12 13:45:10.268614264 +0200 @@ -164,6 +164,7 @@ (define *proxy-port* #f) (define *example-directory* (make-pathname (chicken-home) "examples")) (define *base-directory* (current-directory)) +(define *fetch-tree-only* #f) ; Repository-format: @@ -411,6 +412,7 @@ -C -check check for available upgrades -e -eval EXPRESSION evaluate expression -ls EXTENSION list installed files for extension + -fetch-tree download and show repository catalog -- ignore all following arguments Builds and installs extension libraries. @@ -787,15 +789,14 @@ (define (fetch-file-from-net ext) (define (requirements reqs) - (reverse - (fold - (lambda (r reqs) - (let ((node (assq r *repository-tree*))) - (cond (node (append (list (car node)) (requirements (cdddr node)) reqs)) - ((memq r ##sys#core-library-modules) reqs) - (else (error "Broken dependencies: extension does not exist" r) ) ) ) ) - '() - reqs) ) ) + (fold + (lambda (r reqs) + (let ((node (assq r *repository-tree*))) + (cond (node (append (requirements (cdddr node)) (list (car node)) reqs)) + ((memq r ##sys#core-library-modules) reqs) + (else (error "Broken dependencies: extension does not exist" r) ) ) ) ) + '() + reqs) ) (and (or *dont-ask* (yes-or-no? (sprintf "The extension ~A does not exist.~%Do you want to download it ?" ext) @@ -816,7 +817,7 @@ (when *debug* (printf "catalog entry: ~s~%" a)) (cond (a (let ((reqs (remove extension-info (delete-duplicates (requirements (cdddr a)) eq?)))) (when (pair? reqs) - (print "downloading required extensions ...") + (print "downloading required extensions " reqs " ...") (for-each (cut download-data *last-decent-host* <>) reqs) (print "installing required extensions ...") (for-each (cut install <>) (map ->string reqs)) ) @@ -1023,6 +1024,10 @@ (set! *check-repository* #t) (set! anydone #t) (loop more) ) + (("-fetch-tree" . more) + (set! *fetch-tree-only* #t) + (set! anydone #t) + (loop more) ) (((or "-run" "-script" "-proxy" "-host" "-csc-option")) (error "missing option argument" (car args)) ) ((filename . more) @@ -1050,6 +1055,9 @@ (printf "No setup scripts to process~%") (for-each (if uinst uninstall-extension install) setups) ) ) ) (when *check-repository* (check-for-upgrades)) + (when *fetch-tree-only* + (download-repository-tree) + (pp *repository-tree*) ) (when *rebuild-doc-index* (when (setup-verbose-flag) (printf "Rebuilding documentation index...\n")) (build-doc-index) )