On Jul 5, 2013, at 19:53, Mojca Miklavec wrote: > Just a follow-up question then. Is the "MacPorts could fool its > subservient programs into thinking they're running in a terminal" part > something trivial or something complex to implement? > > If it is trivial to do, I would like to run it locally from time to > time. If it is complex, I will simply forget the matter.
I Googled for how to determine if a command line program should output color, and the method I saw described most often is that the program should check whether output is going to a tty, and if so, then check how many colors the terminal supports. In MacPorts, AFAIK programs are not connected to a tty; they're connected to a pipe. I don't know how you would go about changing MacPorts to connect programs to a tty instead of a pipe, and as I said, doing so would probably confuse some build systems that would then logically expect a user to be interacting with that tty and for that user to be able to interactively answer configuration questions. See for example the configuration output of perl5.12. which begins: First let's make sure your kit is complete. Checking... Locating common programs... Checking compatibility between /bin/echo and builtin echo (if any)... Symbolic links are supported. Checking how to test for symbolic links... You can test for symbolic links with 'test -h'. Good, your tr supports [:lower:] and [:upper:] to convert case. Using [:upper:] and [:lower:] to convert case. 3b1 catamount dynixptx hpux lynxos next_4 riscos super-ux uts aix convexos epix i386 midnightbsd nonstopux sco svr4 uwin aix_3 cxux esix4 interix mips openbsd sco_2_3_0 svr5 vmesa aix_4 cygwin fps irix_4 mirbsd opus sco_2_3_1 ti1500 vos altos486 darwin freebsd irix_5 mpc os2 sco_2_3_2 titanos amigaos dcosx genix irix_6 mpeix os390 sco_2_3_3 ultrix_4 apollo dec_osf gnu irix_6_0 ncr_tower os400 sco_2_3_4 umips atheos dgux gnukfreebsd irix_6_1 netbsd posix-bc solaris_2 unicos aux_3 dos_djgpp gnuknetbsd isc newsos4 powerux stellar unicosmk beos dragonfly greenhills isc_2 next_3 qnx sunos_4_0 unisysdynix bsdos dynix haiku linux next_3_0 rhapsody sunos_4_1 utekv Which of these apply, if any? [darwin] Operating system name? [darwin] Operating system version? [12.4.0] Installation prefix to use? (~name ok) [/opt/local] AFS does not seem to be running... What installation prefix should I use for installing files? (~name ok) [/opt/local] Build Perl for SOCKS? [n] Use the PerlIO abstraction layer? [y] Getting the current patchlevel... Build a threading Perl? [y] Use which C compiler? [/usr/bin/clang] Since configuration output is not connected to a tty, it uses the default values for each configuration question. But if you go into the source directory and manually run "sudo sh Configure" from your terminal (i.e. from a tty) you'll be interactively prompted for answers: Beginning of configuration questions for perl5. Checking echo to see how to suppress newlines... ...using \c The star should be here-->* First let's make sure your kit is complete. Checking... Looks good... Would you like to see the instructions? [n] _______________________________________________ macports-dev mailing list [email protected] https://lists.macosforge.org/mailman/listinfo/macports-dev
