Thanks!

Gustavo Seabra



> Em 19 de nov de 2015, à(s) 17:22, Eric A. Borisch <ebori...@macports.org> 
> escreveu:
> 
> On Thu, Nov 19, 2015 at 11:07 AM, Gustavo Seabra <gustavo.sea...@gmail.com> 
> wrote:
> > I apologize for my ignorance… What rest was just for fun? Will the command 
> > work even in the presence of the ports that don’t have a +quartz? and, in 
> > this case, what would happen to those?
> >
> > The complex command Eric presented earlier is very useful to me as well. I 
> > won’t memorize it either, but I bookmarked the message.
> >
> > All the best,
> > Gustavo Seabra
> 
> The sed / xargs part was "for fun." Because regexes are fun, right?
> 
> To answer your other question, yes; the port echo line will only show 
> installed ports that have (but may or may not be selected) both a quartz and 
> an x11 variant.
> 
> For reference, here is the command again;
> port echo active and variant:quartz and variant:x11 \
>  | sed -n -e '/\+quartz/d;s/@[^+-]*//;s/\+x11/-x11+quartz/p' \
>  | sudo xargs -n 2 port install
> 
> Breaking down the sed/xargs portion, it:
> 
> 1) Checks for +quartz to be present (and thus currently active) and ignores 
> ('/d' for delete and continue) those lines. I do this because some ports 
> (notably cairo) can be both +x11 and +quartz.
> 
> 2) Removes the version information (between the @ and the first + or -; will 
> fail as noted if the version string has a + or -)
> 
> 3) Searches for lines with +x11, and replaces that with -x11+quartz (the 
> desired action originally requested) and then (/p) prints only  those (-n 
> argument) lines.
> 
> xargs -n 2 then takes each set of two arguments (<port> <new variants>) and 
> calls "port install" with those arguments.
> 
> Glad you found it useful; perhaps you'll find it fun. ;)
> 
>  - Eric

_______________________________________________
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users

Reply via email to