nixpkgs/pkgs
Eelco Dolstra cbe3e13bde * Style fix.
svn path=/nixpkgs/trunk/; revision=846
2004-03-19 17:01:46 +00:00
..
applications * Upgraded vlc to 0.7.0. 2004-02-18 08:17:48 +00:00
build-support * The stdenv setup script now defines a generic builder that allows 2004-03-19 16:53:04 +00:00
data/sgml+xml * Upgraded to 1.64.1. 2004-01-08 14:35:37 +00:00
development * The stdenv setup script now defines a generic builder that allows 2004-03-19 16:53:04 +00:00
misc * Newer version. 2004-02-19 16:24:43 +00:00
os-specific/linux * The stdenv setup script now defines a generic builder that allows 2004-03-19 16:53:04 +00:00
servers * Regression fix. 2003-12-21 21:25:38 +00:00
shells/bash * The stdenv setup script now defines a generic builder that allows 2004-03-19 16:53:04 +00:00
stdenv * Style fix. 2004-03-19 17:01:46 +00:00
system * The stdenv setup script now defines a generic builder that allows 2004-03-19 16:53:04 +00:00
test/simple * Re-enabled purity checking: it should work now. First we only 2004-03-12 11:12:18 +00:00
tools * The stdenv setup script now defines a generic builder that allows 2004-03-19 16:53:04 +00:00
README * User-Mode Linux and GNU Patch. 2004-02-13 14:42:28 +00:00
VERSION * Added a version number. 2004-01-13 15:29:15 +00:00

* 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

ELSE:

  ./misc