Ryan Schmidt wrote: > On Jun 11, 2008, at 03:45, Caspar Florian Ebeling wrote: > >> Is there documentation of the mp-specific commands >> somewhere, that I overlooked? Things like "system"? >> I found the definition in macports/base/src/pextlib1.0/Pextlib.c, >> eventually, but it is still a bit uncomfortable. In this case e.g. >> I wanted to see if it returns output from stdout and >> exit code.
I think this should be documented in this section in the guide, but it is not. <http://guide.macports.org/#reference.tcl-extensions> What is missing besides 'system'? > I'm not aware of documentation. I generally just look at other ports > or parts of base that do what I want and copy it. Looking at other Portfiles is always possible, but it is not a replacement for documentation. > If you want to get output from the command, use exec. For example, > see the nspr port which does: > > set mylibs [exec ${destroot}${prefix}/bin/nspr-config --libs] > > To catch errors you can use catch, like src/port1.0/portutil.tcl does > in MacPorts base: > > if {[catch {exec cp $tmpfile $file} error]} { > global errorInfo > ui_debug "$errorInfo" > ui_error "reinplace: $error" > file delete "$tmpfile" > return -code error "reinplace copy failed" > } But exec and catch are usual Tcl stuff, which are documented in 'man n exec' and 'man n catch'. MacPorts adds its own commands for use in Portfiles with Pextlib and they should be documented. Rainer _______________________________________________ macports-dev mailing list macports-dev@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev