FreeBSD Handbook : Installing Applications: The Ports collection : Making a port yourself : Categories
Previous: Package Names
Next: Changes to this document and the ports system

4.7.11. Categories

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 and how we decide what to put in each category.

4.7.11.1. Current list of categories

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 that for non-virtual categories, you will find a one-line description in the pkg/COMMENT file in that subdirectory (e.g., archivers/pkg/COMMENT).

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 don't belong to anywhere else, they shouldn't 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.

games

Games.

german

German language support.

graphics

Graphics utilities.

japanese

Japanese language support.

kde*

Ports that form the K Desktop Environment (kde).

korean

Korean language support.

lang

Programming languages.

mail

Mail software.

math

Numerical computation software and other utilities for mathematics.

mbone

MBone applications.

misc

Miscellaneous utilities -- basically things that doesn't belong to 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.

plan9*

Various programs from Plan9.

print

Printing software. Desktop publishing tools (previewers, etc.) belong here too.

python*

Software written in python.

russian

Russian language support.

security

Security utilities.

shells

Command line shells.

sysutils

System utilities.

tcl75*

Ports that use tcl version 7.5 to run.

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.

textproc

Text processing utilities. It does not include desktop publishing tools, which go to print.

tk41*

Ports that use tk version 4.1 to run.

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.

vietnamese

Vietnamese language support.

windowmaker*

Ports to support the WindowMaker window manager.

www

Software related to the World Wide Web. HTML language support belong here too.

x11

The X window system and friends. This category is only for software that directly support 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 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-toolkits

X11 toolkits.

x11-wm

X11 window managers.

4.7.11.2. Choosing the right category

As many of the categories overlap, you often have to choose which of the categories should be the `primary' category of your port. There are several rules that govern this issue. Here is the list of priorities, in decreasing order of precedence.

  1. Language specific categories always come first. For example, if your port installs Japanese X11 fonts, then your CATEGORIES line should read `japanese x11-fonts'.
  2. Specific categories win over less-specific ones. For instance, an HTML editor should be listed as `www editors', not the other way around. Also, you don't need to list net when the port belongs to either of mail, mbone, news, security or www.
  3. x11 is used as a secondary category only when the primary category is a natural language. In particular, you should not put x11 in the category line for X applications.
  4. If your port truly doesn't belong to anywhere else, put it in misc.

If you are not sure about the category, please put a comment to that effect in your send-pr submission so we can discuss it before importing it. (If you are a committer, send a note to FreeBSD ports mailing list <freebsd-ports@FreeBSD.ORG> so we can discuss it first -- too often new ports are imported to a wrong category only to be moved right away.)


FreeBSD Handbook : Installing Applications: The Ports collection : Making a port yourself : Categories
Previous: Package Names
Next: Changes to this document and the ports system