The Original DarwinPorts : Open Source on Mac OS X
Thursday the 9th of October, 2008
  • This is a full weekly mirror of the main Darwin Ports repository at:
    Navigate this site by choosing a category on the right, and then selecting a portfile.


Download Darwinports 1.6

Download Darwinports

How To Install Darwin Ports:

This is a two-step process and is easy to get working. The first step is to download and run the Darwin Ports installer located here: The second step is to update the ports so that they are current on your Mac. To do this, open a terminal window and check the project out of the CVS repository with the following command and enter the root password when prompted:
% sudo port -d selfupdate 

You are encouraged to print and read the Darwin Ports README file.
Languages available: fr de dk es dk it jp ru zh

  • ------------------------------

    The major changes that was implemented for the release of DarwinPorts
    version 1 were:

    - Rsync support.
    - Selfupdate of the DarwinPorts infrastructure.
    - Include a versioning of the infrastructure.
    - New location of Portfiles, base and work directories.
    - Change in distribution method.

    Rsync support

    Rsync has replaced CVS as the primary way of getting and updating
    the DarwinPorts system. Both the base and the Portfiles are available
    from rsync:// The rsync server provides both
    the release1 (right now only base), and HEAD. The following paths
    could be of interest to the users:

    | -- base (base system)
    |-- dpupdate (HEAD) --
    | -- dports (portfiles description)
    |-- dpupdate1 (Release1) -- base

    You can change the default settings of the rsync behaviour in the
    two following configuration files:

    This is where you set the location of the portfiles.
    The default is

    This is where you set the location of the DarwinPorts
    base system.

    The default is:

    # Rsync server to use
    # Rsync directory
    rsync_dir dpupdate1/base/
    # Rsync options
    rsync_options "-rtzv --delete --delete-after"

    Selfupdate of the DarwinPorts infrastructure

    Selfupdate does two things:

    Sync the Portfiles using the darwinports::sync
    (if an rsync server is in sources.conf it will fetch
    these from the server)

    Sync the base-system from the rsync server provided
    in ports.conf.

    If a newer version of DarwinPorts is available it
    will the build and installed, using the same
    parameters as when you initially installed DarwinPorts.

    Versioning of the DarwinPorts infrastructure

    At installtime DarwinPorts installs a file called dp_version in
    ${prefix}/etc/ports, this file tells what version of the DarwinPorts
    system is installed, this only applies to the base system.

    It is ofcourse recommended *not* to edit this file manually, the
    DarwinPorts system takes care of this for you. If you wish to know
    what version you are using you can run:

    port version

    The version number is a plain decimal number, like:


    New location of Portfiles, base and work directories

    There was introduced a new directory to hold the sources of base
    and portfiles in DarwinPorts release 1.


    In this directory there is a subdirectory that holds the sources
    for the base system and a subdirectory what holds the portfiles

    As default it looks like this:

    |-- rsync.rsync.opendarwin.org_dpupdate1 (Base system)
    |-- rsync.rsync.opendarwin.org_dpupdate_dports (port hieracy)

    The work directory is nolonger placed in the porttree, as it used
    to be, insted it is located in the directory:


    To emulate the behaviour of earlier darwinports systems there is a
    softlink in the porttree to the location of the build.

    For example in the glib2 location in the porttree there is the
    following link:

    work -> /opt/local/var/db/dports/build/

    Change in distribution method

    The DarwinPorts system version 1 will be provided as a tarball
    containing only the base system.

    To get the portfiles and update the system you can use one of the
    two targets:

    selfupdate, which updates both base and portfiles.

    sync, which updates the portfiles.

    Users that for some reason cannot use rsync is forced to use the
    "old" way of using DarwinPorts with CVS.



If you haven'images/safari.png\" ALT=\"WELCOME SAFARI USERS.\">" if (navigator.userAgent.indexOf('Safari') != -1) { document.write(SafariMessage); }