Mac Users:DarwinPorts vs Fink

From PublicWiki
Revision as of 20:49, 18 November 2006 by Yanokwa (talk | contribs)

Jump to: navigation, search

Darwinports and Fink are complementary projects. There is some overlap in ports and several people contribute to both the Fink and OpenDarwin projects. Fink is written in Perl and has 7000 ports. DarwinPorts is mostly written in Tcl, with some components written in C and has 3500 ports.


Fink is essentially a port of Debian's apt-get to OS X and it works pretty well even with the new Intel Macs. On Intel Macs, everything is currently built from source which is slow, but it seems to build everything fine so far. That said, fink maintainers have been slow to move their packages over, so many applications will be of beta quality or may not compile. The annoying part is that you're stuck with the versions of software that are in the package repository, which might not be all the applications you want to install.

DarwinPorts (also known as MacPorts which mimics the FreeBSD ports architecture. Due to it's heritage (OpenDarwin) chances are that most of the DarwinPorts ports will run without problem on Mac OS X Intel. DP has historically been a source/compile system, but since v1.2.1 you can also grab binaries.


By default, DarwinPorts installs in /opt/local, and should be able to coexist peacefully with Fink which installs in /sw. There is a catch as a few X11 applications (like XFree86), is installed /usr/X11R6. So, if you install both the Fink and DarwinPorts versions of XFree86, funny things might happen. In general, pick one. If most of your packages are in Fink, use Fink. If they aren't they are probably in DarwinPorts, so use DarwinPorts.

Before you install DarwinPorts or Fink, you should go to the Apple Developer Connection to register and download the newest version of XCode and Developer Tool. You will also need to get X11 which you can find the X11User package (OS X CD -- it's an optional install). This will allow you to use GUI apps and build applications from source which you will need at some point.