[FreeBSD Logo] [Apple Logo]
FreeBSD and MacPorts


General

Project Home
Consulting Services
C/Unix Programmer's Guide
FreeBSD and MacPorts
Which FreeBSD?
Creating Port-friendly Projects

Port Descriptions

APE
Roboctl
NBC/NXC

Links

FreeBSD Ports Project
MacPorts Project
Ports Source Code
This is my personal collection of ports for FreeBSD and MacPorts. It includes some applications I developed myself, and ports of other Unix programs of personal interest.

Why FreeBSD and Mac?

Although a staunch Unix-agnostic, I became somewhat focused on these two platforms while working as a systems manager in fMRI research. After years of experimenting with various Unix-like systems, I found these two platforms to be the easiest to manage. FreeBSD is the most reliable operating system I've ever used, and the ports system and excellent documentation make it a breeze to set up and maintain. FreeBSD is used extensively for servers and computational systems by organizations such as Yahoo!, Los Alamos National Labs, many WEB hosting companies, etc. The movie Matrix was rendered on a FreeBSD cluster.

Mac OS X is also very reliable and is great for running commercial applications and (safely) accessing the WEB. It's the ideal platform for those who want to run open source Unix applications alongside popular commercial products.

While FreeBSD and OS X are my primary platforms, I do my best to write portable code, and gratefully welcome patches for other POSIX platforms. I believe that users should have freedom to choose their operating system and hardware based on an objective analysis of its merits (stability, performance, security, price, etc), rather than be forced to use a particular OS in order to run their applications.

Using the Ports

For full instructions on installing, uninstalling, or upgrading software using the ports systems, please see the FreeBSD ports or MacPorts WEB sites.

Ports and the corresponding binary packages can be managed from the command line (the fastest method for those who know their way around Unix), by using a menu driven interface such as FreeBSD's sysinstall, or a GUI (graphical user interface) such as the DesktopBSD Package Manager, or Porticus for MacPorts. The DesktopBSD package manager is a standard component of DesktopBSD, but can also be installed on FreeBSD and its other derivatives using the sysutils/desktopbsd-tools port.
DesktopBSD Package Manager [DesktopBSD Porticus [Porticus

A "committed" port is one that has been accepted into the official ports collection. Port frameworks that are already committed need not be downloaded from this site. If you have a recent enough ports snapshot, they will already be in your ports tree and ready to install. If your ports tree is old, you can either update your whole tree (see the ports system documentation), or download the individual framework from the ports collection.

Port frameworks not yet committed to the FreeBSD or MacPorts projects (i.e. those still under development) can be easily added to or updated within your tree using the update_jb_ports script, which works on both FreeBSD and Mac. This script installs ports into a separate tree, so that it can be cleanly removed and updated without interfering with the official ports tree.

Note that ports installed by update_jb_ports are not available under DesktopBSD Package manager. Instead, they must be installed from source by going to /usr/jb_ports/*/* and running "make install".

Getting started

  1. See if you have the update_jb_ports port already. If you do, uninstall/deinstall it, and install the latest.
  2. If you don't have the port:
    1. Fetch the distribution archive from here.
    2. tar zxvf update_jb_ports-(version).tar.gz
    3. cd update_jb_ports-(version)
    4. ./update_jb_ports
    5. Now install the update_jb_ports port, so you can run update_jb_ports from anywhere in the future.
Run update_jb_ports whenever you want to get the latest jb_ports frameworks.