Ticket #2452: deptype_port.diff

File deptype_port.diff, 2.5 KB (added by jberry@…, 19 years ago)

patches to base/src/port1.0/portdepends.tcl and base/src/darwinports1.0/darwinports.tcl

  • src/darwinports1.0/darwinports.tcl

    RCS file: /Volumes/src/cvs/od/proj/darwinports/base/src/darwinports1.0/darwinports.tcl,v
    retrieving revision 1.142
    diff -u -r1.142 darwinports.tcl
     
    549549        return [_dportsearchpath $depregex $search_path]
    550550}
    551551
     552### _porttest is private; subject to change without notice
     553
     554proc _porttest {dport depspec} {
     555        # We don't actually look for the port, but just return false
     556        # in order to let the dportdepends handle the dependency
     557        return 0
     558}
     559
    552560### _dportinstalled is private; may change without notice
    553561
    554562# Determine if a port is already *installed*, as in "in the registry".
     
    564572        }
    565573}
    566574
    567 ### _dporispresent is private; may change without notice
     575### _dportispresent is private; may change without notice
    568576
    569577# Determine if some depspec is satisfied or if the given port is installed.
    570578# We actually start with the registry (faster?)
     
    591599                        lib { return [_libtest $dport $depspec] }
    592600                        bin { return [_bintest $dport $depspec] }
    593601                        path { return [_pathtest $dport $depspec] }
     602                        port { return [_porttest $dport $depspec] }
    594603                        default {return -code error "unknown depspec type: $type"}
    595604                }
    596605                return 0
  • src/port1.0/portdepends.tcl

    RCS file: /Volumes/src/cvs/od/proj/darwinports/base/src/port1.0/portdepends.tcl,v
    retrieving revision 1.38
    diff -u -r1.38 portdepends.tcl
     
    4646    switch -regex $action {
    4747        set|append|delete {
    4848            foreach depspec $args {
    49                 if {[regexp {([A-Za-z\./0-9]+):([A-Za-z0-9_/\-\.$^\?\+\(\)\|\\]+):([-A-Za-z\./0-9_]+)} "$depspec" match deppath depregex portname]} {
    50                     switch $deppath {
    51                         lib {}
    52                         bin {}
    53                         path {}
     49                if {[regexp {([A-Za-z\./0-9]+):([A-Za-z0-9_/\-\.$^\?\+\(\)\|\\]*):([-A-Za-z\./0-9_]+)} "$depspec" match deppath depregex portname]} {
     50                    switch -regex $deppath {
     51                        lib|bin|path {
     52                                if {[string length $depregex] == 0} {
     53                                        return -code error [format [msgcat::mc "invalid depspec: %s (missing regex component)"] $depspec]
     54                                }
     55                        }
     56                        port {}
    5457                        default {return -code error [format [msgcat::mc "unknown depspec type: %s"] $deppath]}
    5558                    }
    5659                } else {