Changeset 11941 in project


Ignore:
Timestamp:
09/10/08 08:45:08 (13 years ago)
Author:
felix winkelmann
Message:

improved installation order for repeated occurrences in dependency chains

Location:
chicken/branches/hygienic
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • chicken/branches/hygienic/TODO

    r11905 r11941  
    4949   (as comment in expand.scm indicated (##sys#register-export))
    5050
    51 * guerrilla-setup
     51* setup/install
    5252** setup-download
    5353*** HTTP_PROXY
     
    5656*** only download tests on demand (-test option)
    5757** chicken-install
    58 *** dependency-resolution fails
    59     installing numbers with an empty repo seems to miss silex; apparently
    60     we can't depend on `retrieve' to order dependencies correctly?
    61 *** passing multiple names doesn't build them in the same order
    62     may be related to the point above
    6358*** handle needs/depends of builtin extension
    6459*** should cache extension-info
     60    necessary?
     61** henrietta
     62*** parameter "withtests=BOOL" controls whether tests should be downloaded
    6563
    6664* documentation
     
    8684   segfaults - something wrong with finalization, may be related to
    8785   warning on compilation
    88 ** testeez
    89    doesn't work: %testeez:body (or whatever) must be made available
    90    somehow; if all else fails, export it (including required indirect
    91    exports. This is ugly but should at least work)
     86   (might be fixed with force-finalizers not imported - test with optimizations on)
  • chicken/branches/hygienic/chicken-install.scm

    r11776 r11941  
    131131      (for-each
    132132       (lambda (egg)
    133          (unless (assoc egg *eggs+dirs*)
    134            (let* ((name (if (pair? egg) (car egg) egg))
    135                   (version (and (pair? egg) (cdr egg)))
    136                   (dir (retrieve-extension
    137                         name *default-transport* *default-location*
    138                         version #f
    139                         (and *retrieve-only* (current-directory))
    140                         *username* *password*)))
    141              (unless dir
    142                (error "extension or version not found"))
    143              (print " " name " located at " dir)
    144              (set! *eggs+dirs* (alist-cons name dir *eggs+dirs*)))))
     133         (cond ((assoc egg *eggs+dirs*) =>
     134                (lambda (a)
     135                  ;; push to front
     136                  (set! *eggs+dirs* (cons a (delete a *eggs+dirs* eq?))) ) )
     137               (else
     138                (let* ((name (if (pair? egg) (car egg) egg))
     139                       (version (and (pair? egg) (cdr egg)))
     140                       (dir (retrieve-extension
     141                             name *default-transport* *default-location*
     142                             version #f
     143                             (and *retrieve-only* (current-directory))
     144                             *username* *password*)))
     145                  (unless dir
     146                    (error "extension or version not found"))
     147                  (print " " name " located at " dir)
     148                  (set! *eggs+dirs* (alist-cons name dir *eggs+dirs*))))) )
    145149       eggs)
    146150      (unless *retrieve-only*
  • chicken/branches/hygienic/chicken-status.scm

    r11776 r11941  
    8585      (let loop ((args args) (pats '()))
    8686        (if (null? args)
    87             ((cond (files list-installed-files)
    88                    (else list-installed-eggs))
    89              (gather-eggs (if (null? pats) '(".*") pats)))
     87            (let ((eggs (gather-eggs (if (null? pats) '(".*") pats))))
     88              (if (null? eggs)
     89                  (print "none")
     90                  ((if files list-installed-files list-installed-eggs)
     91                   eggs)))
    9092            (let ((arg (car args)))
    9193              (cond ((or (string=? arg "-help")
Note: See TracChangeset for help on using the changeset viewer.