As you already know, ports are classified in several categories. But for this to work, it is important that porters and users understand what each category is for and how we decide what to put in each category.
First, this is the current list of port categories. Those marked with an asterisk (*) are virtual categories--those that do not have a corresponding subdirectory in the ports tree.
Note: For non-virtual categories, you will find a one-line description in the pkg/COMMENT file in that subdirectory (e.g., archivers/pkg/COMMENT).
| Category | Description |
|---|---|
| afterstep* | Ports to support the AfterStep window manager. |
| archivers | Archiving tools. |
| astro | Astronomical ports. |
| audio | Sound support. |
| benchmarks | Benchmarking utilities. |
| biology | Biology-related software. |
| cad | Computer aided design tools. |
| chinese | Chinese language support. |
| comms | Communication software. Mostly software to talk to your serial port. |
| converters | Character code converters. |
| databases | Databases. |
| deskutils | Things that used to be on the desktop before computers were invented. |
| devel | Development utilities. Do not put libraries here just because they are libraries--unless they truly do not belong anywhere else, they should not be in this category. |
| editors | General editors. Specialized editors go in the section for those tools (e.g., a mathematical-formula editor will go in math). |
| elisp* | Emacs-lisp ports. |
| emulators | Emulators for other operating systems. Terminal emulators do not belong here--X-based ones should go to x11 and text-based ones to either comms or misc, depending on the exact functionality. |
| french | French language support. |
| ftp | FTP client and server utilities. If your port speaks both FTP and HTTP, put it in ftp with a secondary category of www. |
| games | Games. |
| german | German language support. |
| gnome* | Ports from the GNU Object Model Environment (GNOME) Project. |
| graphics | Graphics utilities. |
| hebrew | Hebrew language support. |
| irc | Internet Relay Chat utilities. |
| ipv6* | IPv6 related software. |
| japanese | Japanese language support. |
| java | Java language support. |
| kde* | Ports from the K Desktop Environment (KDE) Project. |
| korean | Korean language support. |
| lang | Programming languages. |
| linux* | Linux applications and support utilities. |
| Mail software. | |
| math | Numerical computation software and other utilities for mathematics. |
| mbone | MBone applications. |
| misc | Miscellaneous utilities--basically things that do not belong anywhere else. This is the only category that should not appear with any other non-virtual category. If you have misc with something else in your CATEGORIES line, that means you can safely delete misc and just put the port in that other subdirectory! |
| net | Miscellaneous networking software. |
| news | USENET news software. |
| offix* | Ports from the OffiX suite. |
| palm | Software support for the 3Com Palm(tm) series. |
| perl5* | Ports that require perl version 5 to run. |
| picobsd | Ports to support PicoBSD. |
| plan9* | Various programs from Plan9. |
| Printing software. Desktop publishing tools (previewers, etc.) belong here too. | |
| python* | Software written in python. |
| ruby* | Software written in ruby. |
| russian | Russian language support. |
| science | Scientific ports that don't fit into other categories such as astro, biology and math. |
| security | Security utilities. |
| shells | Command line shells. |
| sysutils | System utilities. |
| tcl76* | Ports that use Tcl version 7.6 to run. |
| tcl80* | Ports that use Tcl version 8.0 to run. |
| tcl81* | Ports that use Tcl version 8.1 to run. |
| tcl82* | Ports that use Tcl version 8.2 to run. |
| textproc | Text processing utilities. It does not include desktop publishing tools, which go to print/. |
| tk42* | Ports that use Tk version 4.2 to run. |
| tk80* | Ports that use Tk version 8.0 to run. |
| tk81* | Ports that use Tk version 8.1 to run. |
| tk82* | Ports that use Tk version 8.2 to run. |
| tkstep80* | Ports that use TkSTEP version 8.0 to run. |
| ukrainian | Ukrainian language support. |
| vietnamese | Vietnamese language support. |
| windowmaker* | Ports to support the WindowMaker window manager |
| www | Software related to the World Wide Web. HTML language support belongs here too. |
| x11 | The X window system and friends. This category is only for software that directly supports the window system. Do not put regular X applications here. If your port is an X application, define USE_XLIB (implied by USE_IMAKE) and put it in the appropriate categories. Also, many of them go into other x11-* categories (see below). |
| x11-clocks | X11 clocks. |
| x11-fm | X11 file managers. |
| x11-fonts | X11 fonts and font utilities. |
| x11-servers | X11 servers. |
| x11-toolkits | X11 toolkits. |
| x11-wm | X11 window managers. |
| zope* | Zope support. |