Comment on MacPorts

Yes, it's awesome. But not necessarily in a positive way.

Sure, you can get a lot of software installed more or less automagically, usually without errors. The problem is dependency hell - it seems bent on replacing more or less every program that comes included in OS X. Let me give you a few examples. The last couple of months I've been toying with various functional languages and revision control programs. All these should seem pretty standard fare that should run more or less out of the box, right? Wrong.

Git (Linus Torvalds new Bitkeeper replacement): This is listed as dependent on perl5.8. No problem you say, Perl 5.8.6 is included in Tiger. Ah, but MacPorts insist on building 5.8.8, and most people who've had multiple perls installed know that it's usually not a good idea (especially if using mod_perl). Browsing through the Git source code I can't find a single Perl script containing a <code>require 5.8.8</code>, and anyway most of them are copyright 2005, when 5.8.8 wasn't even released.

Darcs (another fine revision control system): This requires ghc, which is natural since it is written in Haskell. Fine, I've planning to take a look at Haskell for ages. But wait, ghc also requires Perl 5.8.8. Darn. Think I'll go looking for precompiled binaries instead.

Erlang (concurrent programmling language): Should be pretty straightforward, except it's dependent on tk. Ok, despite it's datedness Tk is nice enough, so why not? Because it insists on building and install XFree86, that's why not. Jeez! Perl and Python can run it without X11, so no reason Erlang can't. Besides, who actually use XFree86 these days?

Other stupidities: Inkscape -> dbus (fair enough) -> docbook-xml-4.1.2 (huh? generating HTML documentation is now a required dependency?!). Or GNUCash -> Firefox-X11 (despite that you most likely have Firefox already installed). I'm tempted to mention that pdftk requires a rebuild of GCC and the better part of a day , but in all fairness that's not MacPorts' fault.

Still, I'm tempted to agree that the principle of building from source is flawed and go back to binary packages, were it not for that the alternative also sucks quite a bit. After three years using Ubuntu where Stuff Just Works, it's a rare sight to see the Mac stuff looking like a kludge compared to Linux.