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.conf The /etc/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. sysportpath - (required) Specifies the path to the software directory. Used to find and build port dependencies 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 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/portbuild - 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 USING PORTBUILD All included port descriptions are currently stored in the software/ subdirectory of the ports distribution, in the form of: software// To build a port, cd to the port's directory and run 'portbuild'. To install a port, run 'portbuild install'. Please refer to the portbuild man page for complete documentation on the 'portbuild' 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.