mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-27 01:13:05 +00:00
306522dd90
svn path=/nixpkgs/trunk/; revision=545
106 lines
2.8 KiB
Plaintext
106 lines
2.8 KiB
Plaintext
* Classification scheme for packages
|
|
|
|
- many packages fall under several categories; what matters is the
|
|
*primary* purpose of a package. For example, the libxml2 package
|
|
builds both a library and some tools; but it's a library foremost,
|
|
so it goes under ./development/libraries.
|
|
|
|
- when in doubt, refactor.
|
|
|
|
IF it's used to support SOFTWARE DEVELOPMENT:
|
|
|
|
IF it's a LIBRARY used by other packages:
|
|
IF it's directly related to GTK:
|
|
./development/libraries/gtk+
|
|
ELSE
|
|
./development/libraries
|
|
(e.g., libxml2)
|
|
ELSE IF it's a COMPILER:
|
|
./development/compilers
|
|
(e.g., gcc)
|
|
ELSE IF it's an INTERPRETER:
|
|
./development/interpreters
|
|
ELSE IF it's a development TOOL (or set of):
|
|
IF it's a PARSER GENERATOR (incl. lexers):
|
|
./development/tools/parsing
|
|
(e.g., bison, flex)
|
|
ELSE IF it's a BUILD MANAGER:
|
|
./development/tools/build-managers
|
|
(e.g., gnumake
|
|
ELSE
|
|
./development/tools/misc
|
|
(e.g., binutils)
|
|
ELSE
|
|
./development/misc
|
|
|
|
ELSE IF it's a TOOL (or set of):
|
|
# a tool is a relatively *small* program, esp. one intented to be
|
|
# used non-interactively
|
|
|
|
IF it's for NETWORKING:
|
|
./tools/networking
|
|
(e.g., wget)
|
|
ELSE IF it's for TEXT PROCESSING:
|
|
./tools/text
|
|
(e.g., diffutils)
|
|
ELSE IF it's a SYSTEM utility, i.e., something related or essential
|
|
to the operation of a system:
|
|
./tools/system
|
|
(e.g., init)
|
|
ELSE IF it's an ARCHIVER (which may include a compression function):
|
|
./tools/archivers
|
|
(e.g., zip, tar)
|
|
ELSE IF it's a COMPRESSION program:
|
|
./tools/compression
|
|
(e.g., gzip, bzip2)
|
|
ELSE
|
|
./tools/misc
|
|
|
|
ELSE IF it's a SHELL:
|
|
|
|
./shells
|
|
|
|
ELSE IF it's a SERVER:
|
|
|
|
IF it's a HTTP server:
|
|
./servers/http
|
|
(e.g., apache)
|
|
IF it's a X11 server:
|
|
./servers/x11
|
|
(e.g., xfree86)
|
|
ELSE
|
|
./servers/misc
|
|
|
|
ELSE IF it's a DESKTOP ENVIRONMENT (incl. WINDOW MANAGERS):
|
|
|
|
./desktops
|
|
(e.g., kde, gnome, fvwm)
|
|
|
|
ELSE IF it's an APPLICATION:
|
|
# a (typically large) program with a distinct user interface,
|
|
# primarily used interactively
|
|
|
|
IF it's a VERSION MANAGEMENT system:
|
|
./applications/version-management
|
|
ELSE IF it's for VIDEO playback/etc:
|
|
./applications/video
|
|
ELSE IF it's for GRAPHICS viewing/editing/etc:
|
|
./applications/graphics
|
|
ELSE IF it's for NETWORKING:
|
|
IF it's a MAILREADER:
|
|
./applications/networking/mailreaders
|
|
IF it's a NEWSREADER:
|
|
./applications/networking/newsreaders
|
|
ELSE
|
|
./applications/networking/misc
|
|
ELSE
|
|
./applications/misc
|
|
|
|
ELSE IF it's DATA (i.e., doe not have a straight-forward executable semantics):
|
|
|
|
IF it's related to SGML/XML processing:
|
|
IF it's a XML DTD:
|
|
./data/sgml+xml/schemas/xml-dtd
|
|
ELSE IF it's an XSLT stylesheet (okay, these are executable...):
|
|
./data/sgml+xml/stylesheets/xslt
|