Ticket #6220: depscache.patch

File depscache.patch, 1.6 KB (added by danielluke (Daniel J. Luke), 18 years ago)

cache deps we've already checked when upgrading

  • darwinports.tcl

    old new  
    14321432}
    14331433
    14341434# upgrade procedure
    1435 proc darwinports::upgrade {pname dspec variationslist optionslist} {
     1435proc darwinports::upgrade {pname dspec variationslist optionslist {depscachename ""}} {
    14361436        array set options $optionslist
    14371437        array set variations $variationslist
     1438        if {![string match "" $depscachename]} {
     1439                upvar $depscachename depscache
     1440        }
    14381441
    14391442        # set to no-zero is epoch overrides version
    14401443        set epoch_override 0
     
    15711574                # build depends is upgraded
    15721575                if {[info exists portinfo(depends_build)]} {
    15731576                        foreach i $portinfo(depends_build) {
     1577                                if {![llength [array get depscache $i]]} {
    15741578                                set d [lindex [split $i :] end]
    1575                                 upgrade $d $i $variationslist $optionslist
     1579                                        set depscache($i) 1
     1580                                        upgrade $d $i $variationslist $optionslist depscache
     1581                                }
    15761582                        }
    15771583                }
    15781584                # library depends is upgraded
    15791585                if {[info exists portinfo(depends_lib)]} {
    15801586                        foreach i $portinfo(depends_lib) {
     1587                                if {![llength [array get depscache $i]]} {
    15811588                                set d [lindex [split $i :] end]
    1582                                 upgrade $d $i $variationslist $optionslist
     1589                                        set depscache($i) 1
     1590                                        upgrade $d $i $variationslist $optionslist depscache
     1591                                }
    15831592                        }
    15841593                }
    15851594                # runtime depends is upgraded
    15861595                if {[info exists portinfo(depends_run)]} {
    15871596                        foreach i $portinfo(depends_run) {
     1597                                if {![llength [array get depscache $i]]} {
    15881598                                set d [lindex [split $i :] end]
    1589                                 upgrade $d $i $variationslist $optionslist
     1599                                        set depscache($i) 1
     1600                                        upgrade $d $i $variationslist $optionslist depscache
     1601                                }
    15901602                        }
    15911603                }
    15921604        }