Chapter 14. DarwinPorts

The DarwinPorts project (, started in 2002 and led by Landon Fuller, Felix Kronlage, Jordan Hubbard, and Kevin Van Vechten, has created a package management system similar to Fink and the FreeBSD ports collection ( It automates the installation of open source Unix- and Aqua-based software on Mac OS X. It is written primarily in Tcl (which is bundled with Mac OS X).

The DP-COCOA project (, led by Dr. Ernest Prabhakar, provides a Cocoa-based framework for manipulating DarwinPorts . At the time of this writing, there is another graphical user interface called DarwinPorts Manager, which is under active development by the DarwinPorts team.

DarwinPorts provides a way to both install and remove packages from its collection, as well as track package dependencies. This means that if you attempt to install package A, and that package depends on package B, DarwinPorts finds and installs package B first and then goes back to install package A. Similarly, if you attempt to uninstall package B while you have installed another package that depends on package B, DarwinPorts warns you about this dependency and gives you the option to remove other packages that depend on the one you’re attempting to remove.

DarwinPorts installs Unix-based packages in /opt/local by default, ensuring that your Mac OS X-installed system files in /usr won’t be affected. DarwinPorts also allows ...

Get Mac OS X Tiger for Unix Geeks, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.