#17182: Variables aren't expanded in path:-style dependencies -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: MacPorts base bugs Component: base | Version: 1.6.0 Keywords: | Port: -------------------------------------+-------------------------------------- Comment(by mcalhoun@…): Please correct me if I am wrong, but it seems that the situation is:[[BR]] * portindex [http://trac.macports.org/browser/trunk/base/src/port/portindex.tcl#L43 reads the Portfile] for dependencies. * /opt/local should not be in the Portindex, so portindex MIGHT try {{{ set prefix {${prefix}} }}} before reading, which would result in ${prefix} in Portindex (instead of /opt/local). * Unfortunately, when Portindex is read, ${prefix} is evaluated to an empty string in [http://trac.macports.org/browser/trunk/base/src/macports1.0/macports.tcl#L15... mportsearch]. * So what portindex [http://trac.macports.org/browser/trunk/base/src/port/portindex.tcl#L42 actually does] results in \${prefix} in Portindex. * Unfortunately, when the procedure [http://trac.macports.org/browser/trunk/base/src/macports1.0/macports.tcl#L11... _pathtest] is finally called, the argument depspec still contains \${prefix}, which is never evaluated. * Therefore, _pathtest not only [http://trac.macports.org/browser/trunk/base/src/macports1.0/macports.tcl#L11... prepends] the actual prefix, but, even if it didn't, would not work correctly because [http://trac.macports.org/browser/trunk/base/src/macports1.0/macports.tcl#L11... _mportsearchpath] is searching for something with \${prefix} in it. My Tcl is limited, so I do not know why {{{ set line [read $fd $len] }}} behaves the way it does if $fd contains ${prefix} (not \${prefix}). I tried a couple of things (like using eval) to have ${prefix} be evaluated in _pathtest, but all I could manage was to have an empty string for ${prefix}. -- Ticket URL: <http://trac.macports.org/ticket/17182#comment:18> MacPorts <http://www.macports.org/> Ports system for Mac OS