Taming MacPorts

Published:

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.