WHAT IS THE DARWIN PORTS SYSTEM Darwin Ports is a software build, install, and packaging infrastructure designed to meet the same functionality requirements as the FreeBSD ports architecture while maintaining extensibility for future enhancement. Darwin Ports currently builds and runs on MacOS X 10.2 (Darwin 6.0). The system is portable, written in TCL with a limited set of TCL extensions in C. For in-depth documentation on the internals of the ports system architecture, refer to docs/INTERNALS. INSTALLING Installation Steps: 1. make Run 'make' within the darwinports directory to compile all necessary software. 2. sudo make install Run 'sudo make install' within the darwinports directory to install darwinports on your system. 3. edit /etc/ports/ports.conf The /etc/ports/ports.conf configuration file takes the same directives as a Portfile, and can be used to override all ports' defaults. There are required and optional directives that you should configure at install time. portdbpath - (options) Specifies path to store ports system specific data. ports_debug - (optional) Takes either a "yes" or "no" value. If set, debug messages are printed ports_verbose - (optional) Takes either a "yes" or "no" value. If set, informational messages are printed 3. edit /etc/ports/sources.conf The /etc/ports/sources.conf file lists the location of both local and remote port software hierarchies. By default, the ports system will fetch ports from www.opendarwin.org. If you wish to use a local ports tree, specify it here. All necessary code and TCL will be compiled and installed as follows: /System/Library/Tcl/8.3/darwinports1.0 - TCL library for interfacing with the Darwin Ports System /opt/local/bin/port - Command line port building utility /opt/local/share/darwinports/ - TCL libraries internal to the ports system /etc/defaults/ports.conf - System-wide port default settings /etc/ports/ports.conf - User customizable port settings /etc/ports/sources.conf - List of port sources USING THE PORT COMMAND If you haven't already, add /opt/local/bin to your path. If you're unsure how, add the following line to your ~/.cshrc file. set path=($path /opt/local/bin) Your changes to ~/.cshrc will not take effect until you have opened a new shell. To update your local indexes, run: port sync The following command will build and install a port: port install To find a specific port, try using "port search". port search vi Please refer to the port man page for complete documentation on the port command. CREATING NEW PORTS Ports consist of directory containing both a Portfile and associated files. Currently the only bundled files are patch files, and these are likely to be kept to a minimum. A Portfile consists of valid TCL, evaluated by a TCL interpreter instantiated by the Darwin Ports System. Portfiles use extremely straight- forward key/value pair syntax, while allowing the author to use the full extent of TCL's functionality where necessary. To get started, refer to doc/exampleport and the portfile(7) man page.