We like to use brew, but it doesn't have a lot of gnome toolset formulae, and we can install a gnome-terminal very quickly with FinkCommander. We've built various parts of gnome from scratch, but creating a brew formula just to get the gnome-terminal seems overkill, when it is already available.
Regardless, we were having trouble building gnome-terminal with FinkCommander, that is until we removed all brew installed component references from environment variables; we certainly had to take /usr/local/bin and /usr/local/opt/gnu-tar/libexec/gnubin out of $PATH, and just for kicks, we made sure ${DY}LD_LIBRARY_PATH didn't point into /usr/local/lib, etc. This allowed gnome-terminal to build & install successfully with FinkCommander.
Further, we have software which we want to install via brew, fink, and port - but brew does not play well with others. This has led to the more general question: Is it enough just to toggle path and environment variables to switch between brew and fink/port build environments and installations? We know we need to hide brew from fink via environment variables when building gnome-terminal with FinkCommander, and the assumption is that for some brew defined formula, the reverse is true.
What in general must we do to have the best of all three worlds? That is, what to do to have all three, brew, fink, and port, built and installed in parallel? Because all the managed packages were built from scratch, each package should know where their own dynamically linked libraries are located. Is it enough to jumble around the $PATH, $MANPATH, & $DYLD_LIBRARY_PATH environment variables on the fly to put one installation in front of another to use its defined tools? Are we missing anything?