Ticket #2452: portdep.2.diff

File portdep.2.diff, 3.0 KB (added by jberry@…, 19 years ago)

Patch against release1 branch

  • base/src/darwinports1.0/darwinports.tcl

    ? patch
    ? portdep.diff
    ? base/Makefile
    ? base/config.log
    ? base/config.status
    ? base/Mk/dports.autoconf.mk
    ? base/doc/macosx.mtree
    ? base/doc/ports.conf
    ? base/doc/prefix.mtree
    ? base/src/config.h
    ? base/src/darwinports1.0/Darwinports.dylib
    ? base/src/darwinports1.0/darwinports_autoconf.tcl
    ? base/src/darwinports1.0/darwinports_fastload.tcl
    ? base/src/pextlib1.0/Pextlib.dylib
    ? base/src/port/port
    ? base/src/port/portall
    ? base/src/port/portindex
    ? base/src/port1.0/port_autoconf.tcl
    ? base/src/programs/Makefile
    RCS file: /Volumes/src/cvs/od/proj/darwinports/base/src/darwinports1.0/darwinports.tcl,v
    retrieving revision 1.157.2.12
    diff -u -r1.157.2.12 darwinports.tcl
     
    640640        return [_dportsearchpath $depregex $search_path]
    641641}
    642642
     643### _porttest is private; subject to change without notice
     644
     645proc _porttest {dport depspec} {
     646        # We don't actually look for the port, but just return false
     647        # in order to let the dportdepends handle the dependency
     648        return 0
     649}
     650
    643651### _dportinstalled is private; may change without notice
    644652
    645653# Determine if a port is already *installed*, as in "in the registry".
     
    655663        }
    656664}
    657665
    658 ### _dporispresent is private; may change without notice
     666### _dportispresent is private; may change without notice
    659667
    660668# Determine if some depspec is satisfied or if the given port is installed.
    661669# We actually start with the registry (faster?)
     
    682690                        lib { return [_libtest $dport $depspec] }
    683691                        bin { return [_bintest $dport $depspec] }
    684692                        path { return [_pathtest $dport $depspec] }
     693                        port { return [_porttest $dport $depspec] }
    685694                        default {return -code error "unknown depspec type: $type"}
    686695                }
    687696                return 0
  • base/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 {