For the record, I don’t like MacPorts. I don’t like building software from sources when someone could have done it for me just fine. It’s a waste of fossil fuels and a waste of my time. Since my Mac doesn’t come with most of the software I’d expect I have to build things from sources. I tried doing this for a long time without MacPorts, but since everyone on the Mac installs all their software through MacPorts none of the portability patches make it upstream.
So I gave into the MacPorts software monopoly. There is, however no chance in hell I’m going to let it run as root and write whatever all over my filesystem – especially while the Mac doesn’t have a decent package management system I can use to restore system files that have been overwritten. MacPorts does, in theory let you install anywhere as any user. Just download the MacPorts tarball and configure with a few options:
./configure --prefix=$HOME/macports --with-install-user=ian --with-install-group=staff
make install
Just add $HOME/macports/bin to your path and you’re off. There do unfortunately seem to be a few limitations. Some packages like openssh want to install things as root. It looks like the MacPorts packaging is too coarse – you can’t install the client binaries without installing the server binaries. I guess I need to look into porting fakeroot.


3 Comments
You could always use fink – http://fink.sf.net/ It offers binary builds for most of the apps.
Don’t the developer tools give you everything you need without having to use MacPorts?
@Will, I don’t think they do. At least in Tiger there were a lot of tools that were really really out of date. Everyone I know doing development – even web development – on a Mac has to install from sources, either with MacPorts or by hand.