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.
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.
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.
CATEGORIES
line should read `japanese
x11-fonts
'.
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
.
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.
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.)