Reformatted.
[chise/xemacs-chise.git-] / man / xemacs / packages.texi
index 5aaeeaf..5696ebe 100644 (file)
@@ -19,8 +19,7 @@ local needs with safe removal of unnecessary code.
 * Package Terminology:: Understanding different kinds of packages.
 * Installing Packages:: How to install packages.
 * Building Packages::   Building packages from CVS sources.
 * Package Terminology:: Understanding different kinds of packages.
 * Installing Packages:: How to install packages.
 * Building Packages::   Building packages from CVS sources.
-* Local.rules File::    This is an important file don't forget to create/edit it.
-* Creating Packages::   The basics.
+* Local.rules File::    This is an important file that you must create.
 * Available Packages::  A brief directory of packaged LISP.
 @end menu
 
 * Available Packages::  A brief directory of packaged LISP.
 @end menu
 
@@ -32,12 +31,14 @@ local needs with safe removal of unnecessary code.
 There are two main flavors of packages.
 
 @itemize @bullet
 There are two main flavors of packages.
 
 @itemize @bullet
-@item Regular Packages
+@item 
+Regular Packages
 @cindex regular packages
 A regular package is one in which multiple files are involved and one
 may not in general safely remove any of them.
 
 @cindex regular packages
 A regular package is one in which multiple files are involved and one
 may not in general safely remove any of them.
 
-@item Single-File Packages
+@item 
+Single-File Packages
 @cindex single-file packages
 A single-file package is an aggregate collection of thematically
 related but otherwise independent lisp files.  These files are bundled 
 @cindex single-file packages
 A single-file package is an aggregate collection of thematically
 related but otherwise independent lisp files.  These files are bundled 
@@ -68,6 +69,7 @@ savings).
 
 Currently, source packages are only available via CVS.  See
 @url{http://cvs.xemacs.org/} for details.
 
 Currently, source packages are only available via CVS.  See
 @url{http://cvs.xemacs.org/} for details.
+
 @node Installing Packages, Building Packages, Package Terminology, Packages
 @comment  node-name,  next,  previous,  up
 @cindex installing packages
 @node Installing Packages, Building Packages, Package Terminology, Packages
 @comment  node-name,  next,  previous,  up
 @cindex installing packages
@@ -98,29 +100,20 @@ Alternatively, if you have copies of the packages locally, you can
 install packages from a local disk or CDROM.
 
 The file @file{etc/PACKAGES} in the core distribution contains a list of
 install packages from a local disk or CDROM.
 
 The file @file{etc/PACKAGES} in the core distribution contains a list of
-the @ref{Available Packages} at the time of the XEmacs release.  Packages are
-also listed on the @code{Options} menu under:
-
-@example
-        Options -> Customize -> Emacs -> Packages
-@end example
-
-However, don't select any of these menu picks unless you actually want 
-to install the given package (and have properly configured your system 
-to do so).
+the @ref{Available Packages} at the time of the XEmacs release.
 
 You can also get a list of available packages, and whether or not they
 are installed, using the visual package browser and installer.  You can
 access it via the menus:
 
 @example
 
 You can also get a list of available packages, and whether or not they
 are installed, using the visual package browser and installer.  You can
 access it via the menus:
 
 @example
-        Options -> Manage Packages -> List & Install
+Tools -> Packages -> List and Install
 @end example
 
 Or, you can get to it via the keyboard:
 
 @example
 @end example
 
 Or, you can get to it via the keyboard:
 
 @example
-M-x pui-list-packages
+@code{M-x pui-list-packages}
 @end example
 
 Hint to system administrators of multi-user systems: it might be a good
 @end example
 
 Hint to system administrators of multi-user systems: it might be a good
@@ -132,10 +125,10 @@ using the @code{package-get-package-provider} function. Eg., if you know
 that you need @code{thingatpt}, type:
 
 @example
 that you need @code{thingatpt}, type:
 
 @example
-M-x package-get-package-provider RET thingatpt
+@code{M-x package-get-package-provider RET thingatpt}
 @end example
 
 @end example
 
-which will return something like (fsf-compat "1.08"). You can the use
+which will return something like @samp{(fsf-compat "1.08")}. You can the use
 one of the methods above for installing the package you want.
 
 @subsection XEmacs and Installing Packages
 one of the methods above for installing the package you want.
 
 @subsection XEmacs and Installing Packages
@@ -143,80 +136,18 @@ one of the methods above for installing the package you want.
 There are three main ways to install packages:
 
 @menu
 There are three main ways to install packages:
 
 @menu
-* Sumo::              All at once, using the 'Sumo Tarball'.
-* Manually::          Using individual package tarballs.
 * Automatically::     Using the package tools from XEmacs.
 * Automatically::     Using the package tools from XEmacs.
+* Manually::          Using individual package tarballs.
+* Sumo::              All at once, using the 'Sumo Tarball'.
 * Which Packages::    Which packages to install.
 * Removing Packages:: Removing packages.
 @end menu
 
 But regardless of the method you use to install packages, they can only
 * Which Packages::    Which packages to install.
 * Removing Packages:: Removing packages.
 @end menu
 
 But regardless of the method you use to install packages, they can only
-be used by XEmacs after a restart.
-
-@node Sumo, Manually, ,Installing Packages
-@comment  node-name,  next,  previous,  up
-@cindex sumo package install
-@heading Installing the Sumo Packages:
-Those with little time, cheap connections and plenty of disk space can
-install all the packages at once using the sumo tarballs.
-Download the file: @file{xemacs-sumo.tar.gz}
-
-For an XEmacs compiled with Mule you also need: @file{xemacs-mule-sumo.tar.gz}
-
-N.B. They are called 'Sumo Tarballs' for good reason. They are
-currently about 19MB and 4.5MB (gzipped) respectively.
-
-Install them by:
-
-@code{cd $prefix/lib/xemacs ; gunzip -c <tarballname> | tar xvf - RET}
-
-Or, if you have GNU tar:
-
-@code{cd $prefix/lib/xemacs ; tar zxvf /path/to/<tarballname> RET}
-
-As the Sumo tarballs are not regenerated as often as the individual
-packages, it is recommended that you use the automatic package tools
-afterwards to pick up any recent updates.
-
-@node Manually, Automatically, Sumo, Installing Packages
-@comment  node-name,  next,  previous,  up
-@cindex manual package install
-@heading Manual Package Installation:
-Fetch the packages from the FTP site, CD-ROM whatever. The filenames
-have the form @file{name-<version>-pkg.tar.gz} and are gzipped tar files. For
-a fresh install it is sufficient to untar the file at the top of the
-package hierarchy. 
-
-Note: If you are upgrading packages already installed, it's best to
-remove the old package first @ref{Removing Packages}.
-
-For example if we are installing the @file{xemacs-base}
-package (version 1.48):
-
-@example
-   mkdir $prefix/lib/xemacs/xemacs-packages RET # if it does not exist yet
-   cd $prefix/lib/xemacs/xemacs-packages RET
-   gunzip -c /path/to/xemacs-base-1.48-pkg.tar.gz | tar xvf - RET
-
-Or if you have GNU tar, the last step can be:
-
-   tar zxvf /path/to/xemacs-base-1.48-pkg.tar.gz RET
-@end example
-
-For MULE related packages, it is best to untar into the mule-packages
-hierarchy, i.e. for the @file{mule-base} package, version 1.37:
-
-@example
-   mkdir $prefix/lib/xemacs/mule-packages RET # if it does not exist yet
-   cd $prefix/lib/xemacs/mule-packages RET
-   gunzip -c /path/to/mule-base-1.37-pkg.tar.gz | tar xvf - RET
-
-Or if you have GNU tar, the last step can be:
-
-   tar zxvf /path/to/mule-base-1.37-pkg.tar.gz RET
-@end example
+be used by XEmacs after a restart unless the package in question has not
+been previously installed.
 
 
-@node Automatically, Which Packages ,Manually, Installing Packages
+@node Automatically, Manually, ,Installing Packages
 @comment  node-name,  next,  previous,  up
 @cindex automatic package install
 @cindex package tools
 @comment  node-name,  next,  previous,  up
 @cindex automatic package install
 @cindex package tools
@@ -236,35 +167,31 @@ you need are:
 
 and optionally:
 
 
 and optionally:
 
-   mule-base    - Needed if you want to use XEmacs with MULE.
+   mailcrypt    - To do PGP verification of the @file{package-index}
+                  file. 
 @end example
 
 After installing these by hand, fire up XEmacs and follow these
 steps.
 
 @end example
 
 After installing these by hand, fire up XEmacs and follow these
 steps.
 
-Note: The menus in XEmacs 21.2.x and up have changed slightly, so
-where I mention "Options -> Manage Packages", substitute "Tools ->
-Packages".
-
 @enumerate 1
 @enumerate 1
-@item Choose a download site.
-via menu: Options -> Manages Packages -> Add Download Site 
+@item 
+Choose a download site.
+via menu: Tools -> Packages -> Set Download Site 
 via keyb: @code{M-x customize-variable RET package-get-remote RET}
 (put in the details of remote host and directory)
 
 If the package tarballs _AND_ the package-index file are in a
 via keyb: @code{M-x customize-variable RET package-get-remote RET}
 (put in the details of remote host and directory)
 
 If the package tarballs _AND_ the package-index file are in a
-local directory, you can: @code{M-x pui-add-install-directory RET}
+local directory, you can: @code{M-x pui-set-local-package-get-directory RET}
 
 
-@item Obtain a list of packages and display the list in a buffer named
+@item 
+Obtain a list of packages and display the list in a buffer named
 @file{*Packages*}.
 @file{*Packages*}.
-menu: Options -> Manage Packages -> List & Install
+menu: Tools -> Packages -> List & Install
 keyb: @code{M-x pui-list-packages RET}
 
 XEmacs will now connect to the remote site and download the
 keyb: @code{M-x pui-list-packages RET}
 
 XEmacs will now connect to the remote site and download the
-latest package-index file.  If you see an error about the
-package-index entries not being PGP signed, you can safely
-ignore this because PGP has not been integrated into the XEmacs
-package tools yet.
+latest package-index file.
 
 The visual package browser will then display a list of all packages.
 Help information will be displayed at the very bottom of the buffer; you
 
 The visual package browser will then display a list of all packages.
 Help information will be displayed at the very bottom of the buffer; you
@@ -283,11 +210,11 @@ The package has been marked for installation/update.
 @end table
 
 If there is no character in the first column, the package has been
 @end table
 
 If there is no character in the first column, the package has been
-installed and is up-to-date.
+installed and is up to date.
 
 From here, you can select or unselect packages for installation using
 the @key{RET} key, the @kbd{Mouse-2} button or selecting "Select" from
 
 From here, you can select or unselect packages for installation using
 the @key{RET} key, the @kbd{Mouse-2} button or selecting "Select" from
-the (Popup) Menu.
+the Popup @kbd{Mouse-3} Menu.
 Once you've finished selecting the packages, you can
 press the @kbd{x} key (or use the menu) to actually install the
 packages. Note that you will have to restart XEmacs for XEmacs to
 Once you've finished selecting the packages, you can
 press the @kbd{x} key (or use the menu) to actually install the
 packages. Note that you will have to restart XEmacs for XEmacs to
@@ -316,14 +243,18 @@ Kill the package buffer.
 @end table
 
 Moving the mouse over a package will also cause additional information
 @end table
 
 Moving the mouse over a package will also cause additional information
-about the package to be displayed in the minibuffer.
+about the package to be displayed in the minibuffer.  If you have
+balloon-help enabled a balloon-help frame will pop up and display
+additional package information also.
 
 
 
 
-@item Choose the packages you wish to install.
+@item 
+Choose the packages you wish to install.
 mouse: Click button 2 on the package name.
  keyb: @kbd{RET} on the package name
 
 mouse: Click button 2 on the package name.
  keyb: @kbd{RET} on the package name
 
-@item Make sure you have everything you need.
+@item 
+Make sure you have everything you need.
 menu: Packages -> Add Required
 keyb: @kbd{r}
 
 menu: Packages -> Add Required
 keyb: @kbd{r}
 
@@ -334,7 +265,8 @@ those packages also.
 For novices and gurus alike, this step can save your bacon.
 It's easy to forget to install a critical package.
 
 For novices and gurus alike, this step can save your bacon.
 It's easy to forget to install a critical package.
 
-@item Download and install the packages.
+@item 
+Download and install the packages.
 menu: Packages -> Install/Remove Selected
 keyb: @kbd{x}
 @end enumerate
 menu: Packages -> Install/Remove Selected
 keyb: @kbd{x}
 @end enumerate
@@ -349,7 +281,81 @@ Enter the name of the package (e.g., @code{prog-modes}), and XEmacs
 will search for the latest version and install it and any packages that
 it depends upon.
 
 will search for the latest version and install it and any packages that
 it depends upon.
 
-@node Which Packages, Removing Packages, Automatically, Installing Packages
+@heading Keeping Packages Up To Date:
+Once you have the packages you want installed (using any of the above
+methods) you'll want to keep them up to date.  You can do this easily
+from the menubar:
+
+@example
+Tools -> Packages -> Set Download Site
+Tools -> Packages -> Update Installed Packages
+@end example
+
+
+@node Manually, Sumo, Automatically, Installing Packages
+@comment  node-name,  next,  previous,  up
+@cindex manual package install
+@heading Manual Package Installation:
+Fetch the packages from the FTP site, CD-ROM whatever. The filenames
+have the form @file{name-<version>-pkg.tar.gz} and are gzipped tar files. For
+a fresh install it is sufficient to untar the file at the top of the
+package hierarchy. 
+
+Note: If you are upgrading packages already installed, it's best to
+remove the old package first @ref{Removing Packages}.
+
+For example if we are installing the @file{xemacs-base}
+package (version 1.48):
+
+@example
+   mkdir $prefix/lib/xemacs/xemacs-packages RET # if it does not exist yet
+   cd $prefix/lib/xemacs/xemacs-packages RET
+   gunzip -c /path/to/xemacs-base-1.48-pkg.tar.gz | tar xvf - RET
+
+Or if you have GNU tar, the last step can be:
+
+   tar zxvf /path/to/xemacs-base-1.48-pkg.tar.gz RET
+@end example
+
+For MULE related packages, it is best to untar into the mule-packages
+hierarchy, i.e. for the @file{mule-base} package, version 1.37:
+
+@example
+   mkdir $prefix/lib/xemacs/mule-packages RET # if it does not exist yet
+   cd $prefix/lib/xemacs/mule-packages RET
+   gunzip -c /path/to/mule-base-1.37-pkg.tar.gz | tar xvf - RET
+
+Or if you have GNU tar, the last step can be:
+
+   tar zxvf /path/to/mule-base-1.37-pkg.tar.gz RET
+@end example
+
+@node Sumo, Which Packages, Manually, Installing Packages
+@comment  node-name,  next,  previous,  up
+@cindex sumo package install
+@heading Installing the Sumo Packages:
+Those with little time, cheap connections and plenty of disk space can
+install all the packages at once using the sumo tarballs.
+Download the file: @file{xemacs-sumo.tar.gz}
+
+For an XEmacs compiled with Mule you also need: @file{xemacs-mule-sumo.tar.gz}
+
+N.B. They are called 'Sumo Tarballs' for good reason. They are
+currently about 19MB and 4.5MB (gzipped) respectively.
+
+Install them by:
+
+@code{cd $prefix/lib/xemacs ; gunzip -c <tarballname> | tar xvf - RET}
+
+Or, if you have GNU tar:
+
+@code{cd $prefix/lib/xemacs ; tar zxvf /path/to/<tarballname> RET}
+
+As the Sumo tarballs are not regenerated as often as the individual
+packages, it is recommended that you use the automatic package tools
+afterwards to pick up any recent updates.
+
+@node Which Packages, Removing Packages, Sumo, Installing Packages
 @comment  node-name,  next,  previous,  up
 @cindex which packages
 @cindex choosing packages
 @comment  node-name,  next,  previous,  up
 @cindex which packages
 @cindex choosing packages
@@ -360,7 +366,7 @@ everything. A good minimal set of packages for XEmacs-latin1 would be
 
 xemacs-base, xemacs-devel, c-support, cc-mode, debug, dired, efs,
 edit-utils, fsf-compat, mail-lib, net-utils, os-utils, prog-modes,
 
 xemacs-base, xemacs-devel, c-support, cc-mode, debug, dired, efs,
 edit-utils, fsf-compat, mail-lib, net-utils, os-utils, prog-modes,
-text-modes, time
+text-modes, time, mailcrypt
 
 If you are using the XEmacs package tools, don't forget to do:
 
 
 If you are using the XEmacs package tools, don't forget to do:
 
@@ -385,7 +391,7 @@ to the package.
 
 No need to panic, you don't have to go through the
 @file{pkinfo/MANIFEST.pkgname} and manually delete the files.  Instead, use
 
 No need to panic, you don't have to go through the
 @file{pkinfo/MANIFEST.pkgname} and manually delete the files.  Instead, use
-@code{M-x package-admin-delete-binary-package RET}.
+@code{M-x package-get-delete-package RET}.
 
 Note that the interactive package tools included with XEmacs already do
 this for you.
 
 Note that the interactive package tools included with XEmacs already do
 this for you.
@@ -403,12 +409,12 @@ Currently, source packages are only available via anonymous CVS.  See
 
 @table @code
 @item GNU cp
 
 @table @code
 @item GNU cp
-@item GNU ginstall 
+@item GNU install 
 (or a BSD compatible install program).
 @item GNU make 
 (3.75 or later preferred).
 @item makeinfo 
 (or a BSD compatible install program).
 @item GNU make 
 (3.75 or later preferred).
 @item makeinfo 
-(1.68 from texinfo-3.11 or later required).
+(4.2 from GNU texinfo 4.2 or later required).
 @item GNU tar
 (or equivalent).
 @item GNU gzip
 @item GNU tar
 (or equivalent).
 @item GNU gzip
@@ -424,581 +430,405 @@ The packages CVS sources are most useful for creating XEmacs package
 tarballs for installation into your own XEmacs installations or for
 distributing to others.
 
 tarballs for installation into your own XEmacs installations or for
 distributing to others.
 
-Supported operations from @file{make} are:
-
-@table @code
-@item all
-Bytecompile all files, build and bytecompile byproduct files like
-@file{auto-autoloads.el} and @file{custom-load.el}.  Create info version
-of TeXinfo documentation if present.
-
-@item bindist
-Does a @code{make all} as well as create a binary package tarball in the
-staging directory.
-
-@item install
-Bytecompile all files, build and bytecompile byproduct files like
-@file{auto-autoloads.el} and @file{custom-load.el}.  Create info version
-of TeXinfo documentation if present.  And install everything into the
-staging directory.
-
-@item srckit
-Usually aliased to @code{srckit-std}.  This does a @code{make
-distclean} and creates a package source tarball in the staging
-directory.  This is generally only of use for package maintainers.
-
-@item binkit
-May be aliased to @code{binkit-sourceonly}, @code{binkit-sourceinfo},
-@code{binkit-sourcedata}, or
-@code{binkit-sourcedatainfo}. @code{sourceonly} indicates there is
-nothing to install in a data directory or info directory.
-@code{sourceinfo} indicates that source and info files are to be
-installed.  @code{sourcedata} indicates that source and etc (data) files
-are to be installed.  @code{sourcedatainfo} indicates source, etc
-(data), and info files are to be installed.  A few packages have needs
-beyond the basic templates so this is not yet complete.
-
-@item dist
-Runs the rules @code{srckit} followed by @code{binkit}.  This is
-primarily of use by XEmacs maintainers producing files for distribution.
-
-@item clean
-Remove all built files except @file{auto-autoloads.el} and @file{custom-load.el}.
-
-@item distclean
-Remove all created files.
-@end table
+For a list and description of the different @file{Makefile} targets,
+@xref{Makefile Targets,,,lispref}.
 
 
-@node Local.rules File, Creating Packages, Building Packages, Packages
+@node Local.rules File, Available Packages, Building Packages, Packages
 @comment  node-name,  next,  previous,  up
 @cindex local.rules
 @heading The Local.rules File:
 This file is used when building and installing packages from source.  In
 @comment  node-name,  next,  previous,  up
 @cindex local.rules
 @heading The Local.rules File:
 This file is used when building and installing packages from source.  In
-the top level of the CVS module, @file{xemacs-packages}, contains the
+the top level of the CVS module, @file{packages}, contains the
 file, @file{Local.rules.template}.  Simply copy that to
 @file{Local.rules} and edit it to suit your needs.
 
 file, @file{Local.rules.template}.  Simply copy that to
 @file{Local.rules} and edit it to suit your needs.
 
-These are the variables in 'Local.rules' that you will need to
-address. 
+For a complete discussion of the @file{Local.rules} file,
+@xref{Local.rules File,,,lispref}.
 
 
-@table @var
-@item symlink = 
-Set this to 't' if you want to do a "run in place".
-Setting this doesn't work well with 'make bindist'
+@node Available Packages,  , Local.rules File, Packages
+@comment  node-name,  next,  previous,  up
+@cindex available packages
+@cindex packages
+@heading Available Packages:
+This section lists the Lisp packages that are currently available from
+xemacs.org and it's mirrors.  If a particular package that you are
+looking for isn't here, please send a message to the
+@email{xemacs-beta@@xemacs.org, XEmacs Beta list}.
 
 
-@item XEMACS_PACKAGES =
-This is where you set the normal packages that you
-want to install. eg:
-@example
-      XEMACS_PACKAGES = libs/xemacs-base comm/bbdb
-@end example
+This data is up to date as of June 27, 2003.
 
 
-@item XEMACS_STAGING = $@{XEMACS_PACKAGES_BASE@}/../Packages
-Set this to where you want normal packages to be
-installed to.
+@subsection Normal Packages
+A very broad selection of elisp packages.
 
 
-@item PACKAGE_INDEX = package-index
-If you want the package-index file to have a different
-name, change this.
+@table @file
+@item Sun
+Support for Sparcworks.
 
 
-@item BUILD_WITHOUT_MULE =
-Building from CVS defaults to building the Mule
-packages.  Set this to 't' if you don't want/have Mule
+@item ada
+Ada language support.
 
 
-@item MULE_PACKAGES =
-Same as for 'XEMACS_PACKAGES' except you list the Mule
-packages you want to install here. eg:
-@example
-      MULE_PACKAGES = mule/mule-base mule/skk
-@end example
+@item apel
+A Portable Emacs Library.  Used by XEmacs MIME support.
 
 
-@item MULE_STAGING = $@{XEMACS_PACKAGES_BASE@}/../Mule-Packages
-Set this to where you want Mule packages installed
-to.  Note:  'make bindist' does not use this variable.
+@item auctex
+Basic TeX/LaTeX support.
 
 
-@item XEMACS = xemacs
-If your XEmacs isn't in your path, change this.
+@item bbdb
+The Big Brother Data Base: a rolodex-like database program.
 
 
-@item XEMACS_NATIVE_NT =
-Set this to 't' if you are building on WinNT.
+@item build
+Build XEmacs using custom widgets.
 
 
-@item INSTALL = install -c
-The path to your BSD compatible install program.
+@item c-support
+Basic single-file add-ons for editing C code.
 
 
-@item TAR = tar
-The path to your tar program
+@item calc
+Emacs calculator.
 
 
-@item BZIP2 =
-If you want bzip2 tarballs, set this.
+@item calendar
+Calendar and diary support.
 
 
-@item MAKEINFO = makeinfo
-The path to your makeinfo program
-@end table
+@item cc-mode
+C, C++ and Java language support.
 
 
+@item clearcase
+Support for the Clearcase version control system.
 
 
-@node Creating Packages, Available Packages, Local.rules File, Packages
-@comment  node-name,  next,  previous,  up
-@cindex creating packages
-@heading Creating Packages:
-Creating a package from an existing Lisp library is not very difficult.
+@item cookie
+"Fortune cookie"-style messages. Includes Spook (suspicious phrases) 
+and Yow (Zippy quotes).
 
 
-In addition to the Lisp libraries themselves, you need a
-@file{package-info.in} file and a simple @file{Makefile}.  The rest is
-done by @file{XEmacs.rules}, part of the packaging system
-infrastructure.
+@item crisp
+Crisp/Brief emulation.
 
 
-@file{package-info.in} contains a single Lisp form like this:
+@item debug
+GUD, gdb, dbx debugging support.
 
 
-@example
-(name                               ; your package's name
-  (standards-version 1.1
-   version VERSION
-   author-version AUTHOR_VERSION
-   date DATE
-   build-date BUILD_DATE
-   maintainer MAINTAINER
-   distribution xemacs              ; change to "mule" if MULE is needed
-   priority high
-   category CATEGORY
-   dump nil
-   description "description"        ; a one-line description string
-   filename FILENAME
-   md5sum MD5SUM
-   size SIZE
-   provides (feature1 feature2)     ; one for every `provides' form
-   requires (REQUIRES)
-   type regular
-))
-@end example
+@item dictionary
+Interface to RFC2229 dictionary servers.
 
 
-You must fill in the four commented lines.  The value of @code{name} is
-the name of your package as an unquoted symbol.  Normally it is the name
-of the main Lisp file or principal feature provided.  The allowed values
-for distribution are @code{xemacs} and @code{mule}.  Write them as
-unquoted symbols.  The @code{description} is a quoted Lisp string; use
-the usual conventions.  The value for @code{provides} is a list of
-feature symbols (written unquoted).  All of the features provided by
-libraries in your package should be elements of this list.  Implementing
-an automatic method for generating the @file{provides} line is
-desirable, but as yet undone.
-
-The variables in upper-case are references to variables set in the
-@file{Makefile} or automatically generated.  Do not change them; they
-are automatically filled in by the build process.
-
-The remaining lines refer to implementation constants
-(@code{standards-version}), or features that are unimplemented or have
-been removed (@code{priority} and @code{dump}).  The @code{type} line is
-not normally relevant to external maintainers; the alternate value is
-@code{single-file}, which refers to packages consed up out of a number
-of single-file libraries that are more or less thematically related.  An
-example is @code{prog-modes}.  Single-file packages are basically for
-administrative convenience, and new packages should generally be created
-as regular packages.
-
-The @file{Makefile} is quite stylized.  The idea is similar to an
-@file{Imakefile} or an @code{automake} file: the complexity is hidden in
-generic rules files, in this case the @file{XEmacs.rules} include file
-in the top directory of the packages hierarchy.  Although a number of
-facilities are available for complex libraries, most simple packages'
-@file{Makefile}s contain a copyright notice, a few variable definitions,
-an include for @file{XEmacs.rules}, and a couple of standard targets.
-
-The first few @code{make} variables defined are @code{VERSION},
-@code{AUTHOR_VERSION}, @code{MAINTAINER}, @code{PACKAGE},
-@code{PKG_TYPE}, @code{REQUIRES}, and @code{CATEGORY}.  All but one were
-described in the description of @file{package-info.in}.  The last is an
-admistrative grouping.  Current categories include @code{comm},
-@code{games}, @code{libs}, @code{mule}, @code{oa}, @code{os},
-@code{prog}, and @code{wp}.  @ref{Available Packages}, for a list of
-categories.
-
-Next, define the variable @code{ELCS}.  This contains the list of the
-byte-compiled Lisp files used by the package.  These files and their
-@file{.el} versions will be included in the binary package.  If there
-are other files (such as extra Lisp sources or an upstream
-@file{Makefile}) that are normally placed in the installed Lisp
-directory, but not byte-compiled, they can be listed as the value of
-@code{EXTRA_SOURCES}.
-
-The include is simply
-@example
-include ../../XEmacs.rules
-@end example
+@item dired
+The DIRectory EDitor is for manipulating, and running commands on
+files in a directory.
 
 
-The standard targets follow.  These are
+@item docbookide
+DocBook editing support.
 
 
-@example
-all:: $(ELCS) auto-autoloads.elc
+@item ecrypto
+Crypto functionality in Emacs Lisp.
 
 
-srckit: srckit-alias
+@item edebug
+A Lisp debugger.
 
 
-binkit: binkit-alias
-@end example
+@item ediff
+Interface over patch.
 
 
-Other targets (such as Texinfo sources) may need to be added as
-dependencies for the @code{all} target.  Dependencies for @code{srckit}
-and @code{binkit} (that is, values for @var{srckit-alias} and
-@var{binkit-alias}) are defined in @file{XEmacs.rules}.  The most useful
-of these values are given in the following table.
-
-@table @var
-@item srckit-alias
-Usually set to @code{srckit-std}.
-
-@item binkit-alias
-May be set to @code{binkit-sourceonly}, @code{binkit-sourceinfo},
-@code{binkit-sourcedata}, or
-@code{binkit-sourcedatainfo}.  @code{sourceonly} indicates there is
-nothing to install in a data directory or info directory.
-@code{sourceinfo} indicates that source and info files are to be
-installed.  @code{sourcedata} indicates that source and etc (data) files
-are to be installed.  @code{sourcedatainfo} indicates source, etc
-(data), and info files are to be installed.
-@end table
+@item edit-utils
+Single file lisp packages for various XEmacs goodies.  Load this and
+weed out the junk you don't want.
 
 
-Data files include things like pixmaps for a package-specific toolbar,
-and are normally installed in @file{etc/@var{PACKAGE_NAME}}.  A few
-packages have needs beyond the basic templates.  See @file{XEmacs.rules}
-or a future revision of this manual for details.
+@item edt
+DEC EDIT/EDT emulation.
 
 
-@node Available Packages,  , Creating Packages, Packages
-@comment  node-name,  next,  previous,  up
-@cindex available packages
-@cindex packages
-@heading Available Packages:
-This section lists the Lisp packages that are currently available from
-xemacs.org and it's mirrors.  If a particular package that you are
-looking for isn't here, please send a message to the
-@email{xemacs-beta@@xemacs.org, XEmacs Beta list}.
+@item efs
+Treat files on remote systems the same as local files.
 
 
-This data is up-to-date as of January 17, 2001.
+@item eieio
+Enhanced Implementation of Emacs Interpreted Objects.
 
 
-@subsection Library Packages (libs)
+@item elib
+Portable Emacs Lisp utilities library.
 
 
-These packages are required to build and support most of the rest of
-XEmacs.  By design, xemacs-base is a `regular' package.  Use restraint 
-when adding new files there as it is required by almost everything.
+@item emerge
+Another interface over patch.
 
 
-@table @file
-@item Sun
-Support for Sparcworks.
+@item eshell
+Command shell implemented entirely in Emacs Lisp.
 
 
-@item apel
-A Portable Emacs Library.  Used by XEmacs MIME support.
+@item ess
+ESS: Emacs Speaks Statistics.
 
 
-@item dired
-The DIRectory EDitor is for manipulating, and running commands on
-files in a directory.
+@item eterm
+Terminal emulator.
 
 
-@item edebug
-A Lisp debugger.
+@item eudc
+Emacs Unified Directory Client (LDAP, PH).
 
 
-@item efs
-Treat files on remote systems the same as local files.
+@item footnote
+Footnoting in mail message editing modes.
 
 
-@item elib
-Portable Emacs Lisp utilities library.
+@item forms
+Forms editing support (obsolete, use the built-in Widget instead).
+
+@item fortran-modes
+Fortran language support.
+
+@item frame-icon
+Provide a WM icon based on major mode.
 
 @item fsf-compat
 
 @item fsf-compat
-FSF Emacs compatibility files.
+GNU Emacs compatibility files.
 
 
-@item mail-lib
-Fundamental lisp files for providing email support.
+@item games
+Tetris, Sokoban, and Snake.
 
 
-@item sounds-au
-XEmacs Sun sound files.
+@item general-docs
+General documentation.  Presently, empty.
 
 
-@item sounds-wav
-XEmacs Microsoft sound files.
+@item gnats
+XEmacs bug reports.
 
 
-@item tooltalk
-Support for building with Tooltalk.
+@item gnus
+The Gnus Newsreader and Mailreader.
 
 
-@item xemacs-base
-Fundamental XEmacs support.  Install this unless you wish a totally
-naked XEmacs.
+@item haskell-mode
+Haskell language support.
 
 
-@item xemacs-devel
-XEmacs Lisp developer support.  This package contains utilities for
-supporting Lisp development.  It is a single-file package so it may be 
-tailored.
-@end table
+@item hm--html-menus
+HTML editing.
 
 
-@subsection Communications Packages (comm)
+@item ibuffer
+Advanced replacement for buffer-menu.
 
 
-These packages provide support for various communications, primarily
-email and usenet.
+@item idlwave
+Editing and Shell mode for the Interactive Data Language.
 
 
-@table @file
-@item bbdb
-The Big Brother Data Base
+@item igrep
+Enhanced front-end for Grep.
 
 
-@item eicq
-ICQ Client developed and tested on Linux x86; 
-only supported on that platform
+@item ilisp
+Front-end for interacting with Inferior Lisp (external lisps).
 
 
-@item eudc
-Emacs Unified Directory Client (LDAP, PH).
+@item ispell
+Spell-checking with ispell.
 
 
-@item footnote
-Footnoting in mail message editing modes.
+@item jde
+Java language and development support.
 
 
-@item gnats
-XEmacs bug reports.
+@item liece
+IRC (Internet Relay Chat) client for Emacs.
 
 
-@item gnus
-The Gnus Newsreader and Mailreader.
+@item mail-lib
+Fundamental lisp files for providing email support.
 
 @item mailcrypt
 Support for messaging encryption with PGP.
 
 @item mew
 
 @item mailcrypt
 Support for messaging encryption with PGP.
 
 @item mew
-Messaging in an Emacs World.
+Messaging in an Emacs World; a MIME-based email program.
 
 @item mh-e
 Front end support for MH.
 
 
 @item mh-e
 Front end support for MH.
 
-@item net-utils
-Miscellaneous Networking Utilities.  This is a single-file package and 
-files may be deleted at will.
-
-@item rmail
-An obsolete Emacs mailer.  If you do not already use it don't start.
-
-@item supercite
-An Emacs citation tool.  Useful with all Emacs Mailers and Newsreaders.
-
-@item tm
-Emacs MIME support. Not needed for Gnus >= 5.8.0
-
-@item vm
-An Emacs mailer.
-
-@item w3
-A Web browser.
-
-@item zenirc
-ZENIRC IRC Client.
-@end table
-
-@subsection Games and Amusements (games)
-
-All work and no play...
-
-@table @file
-@item cookie
-Spook and Yow (Zippy quotes).
-
-@item games
-Tetris, Sokoban, and Snake.
-
 @item mine
 @item mine
-Minehunt.
+Elisp implementation of the game 'Minehunt'.
 
 @item misc-games
 Other amusements and diversions.
 
 @item misc-games
 Other amusements and diversions.
-@end table
 
 
-@subsection Mule Support (mule)
+@item mmm-mode
+Support for Multiple Major Modes within a single buffer.
 
 
-MULti-lingual Enhancement.  Support for world scripts such as
-Latin, Arabic, Cyrillic, Chinese, Japanese, Greek, Hebrew etc.
-To use these packages your XEmacs must be compiled with Mule
-support.
+@item net-utils
+Miscellaneous Networking Utilities.  This is a single-file package and 
+files may be deleted at will.
 
 
-@table @file
-@item edict
-Lisp Interface to EDICT, Kanji Dictionary.
+@item ocaml
+Objective Caml editing support.
 
 
-@item egg-its
-Wnn (4.2 and 6) support.  SJ3 support.  Must be installed prior to
-XEmacs build.
+@item os-utils
+Miscellaneous single-file O/S utilities, for printing, archiving,
+compression, remote shells, etc.
 
 
-@item leim
-Quail.  Used for everything other than English and Japanese.
+@item pc
+PC style interface emulation.
 
 
-@item locale
-Used for localized menubars (French and Japanese) and localized splash
-screens (Japanese).
+@item pcl-cvs
+CVS frontend.
 
 
-@item lookup
-Dictionary support. (This isn't an English dictionary program)
+@item pcomplete
+Provides programmatic completion.
 
 
-@item mule-base
-Basic Mule support.  Must be installed prior to building with Mule.
+@item perl-modes
+Perl language support.
 
 
-@item skk
-Another Japanese Language Input Method.  Can be used without a
-separate process running as a dictionary server.
-@end table
+@item pgg
+Emacs interface to various PGP implementations.
 
 
-@subsection Productivity Packages (oa)
+@item prog-modes
+Miscellaneous single-file lisp files for various programming languages.
 
 
-Things to make life a little easier.
+@item ps-print
+Print buffers to PostScript printers.
 
 
-@table @file
-@item calc
-Emacs calculator.
+@item psgml
+Validated HTML/SGML editing.
 
 
-@item calendar
-Calendar and diary support.
+@item psgml-dtds
+A collection of DTDs for psgml.  Note that this package is deprecated
+and will be removed in the future, most likely Q2/2003.  Instead of using
+this, you should install needed DTDs yourself.
 
 
-@item edit-utils
-Single file lisp packages for various XEmacs goodies.  Load this and
-weed out the junk you don't want.
+@item python-modes
+Python language support.
 
 
-@item forms
-Forms editing support (obsolete, use the built-in Widget instead).
+@item reftex
+Emacs support for LaTeX cross-references, citations.
 
 
-@item frame-icon
-Provide a WM icon based on major mode.
+@item rmail
+An obsolete Emacs mailer.  If you do not already use it don't start.
 
 
-@item hm--html-menus
-HTML editing.
+@item ruby-modes
+Ruby language support.
 
 
-@item ispell
-Spell-checking with ispell.
+@item sasl
+Simple Authentication and Security Layer (SASL) library.
 
 
-@item pc
-PC style interface emulation.
+@item scheme
+Front-end support for Inferior Scheme.
 
 
-@item psgml
-Validated HTML/SGML editing.
+@item semantic
+Semantic bovinator.
 
 @item sgml
 SGML/Linuxdoc-SGML editing.
 
 
 @item sgml
 SGML/Linuxdoc-SGML editing.
 
+@item sh-script
+Support for editing shell scripts.
+
+@item sieve
+Manage Sieve email filtering scripts.
+
 @item slider
 User interface tool.
 
 @item slider
 User interface tool.
 
+@item sml-mode
+Standard ML editing support.
+
+@item sounds-au
+XEmacs Sun sound files.
+
+@item sounds-wav
+XEmacs Microsoft sound files.
+
 @item speedbar
 Provides a separate frame with convenient references.
 
 @item strokes
 Mouse enhancement utility.
 
 @item speedbar
 Provides a separate frame with convenient references.
 
 @item strokes
 Mouse enhancement utility.
 
+@item supercite
+An Emacs citation tool.  Useful with all Emacs Mailers and Newsreaders.
+
+@item texinfo
+XEmacs TeXinfo support.
+
 @item text-modes
 Various single file lisp packages for editing text files.
 
 @item text-modes
 Various single file lisp packages for editing text files.
 
+@item textools
+Single-file TeX support.
+
 @item time
 Display time & date on the modeline.
 @item time
 Display time & date on the modeline.
-@end table
-
-@subsection Operating System Utilities (os)
 
 
-Tools for working with the operating system.
-
-@table @file
-@item eshell
-Command shell implemented entirely in Emacs Lisp.
+@item tm
+Emacs MIME support. Not needed for Gnus >= 5.8.0
 
 
-@item eterm
-Terminal emulator.
+@item tooltalk
+Support for building with Tooltalk.
 
 
-@item igrep
-Enhanced front-end for Grep.
+@item tpu
+DEC EDIT/TPU support.
 
 
-@item ilisp
-Front-end for Inferior Lisp.
+@item tramp
+Remote shell-based file editing.  This is similar to EFS or Ange-FTP,
+but works with rsh/ssh and rcp/scp.
 
 
-@item os-utils
-Miscellaneous single-file O/S utilities, for printing, archiving,
-compression, remote shells, etc.
+@item vc
+Version Control for Free systems.
 
 
-@item pcomplete
-Provides programmatic completion.
+@item vc-cc
+Version Control for ClearCase.  This package will shortly be
+replaced with clearcase.el
 
 
-@item ps-print-nomule
-Old, but no-Mule safe ps-print.
+@item vhdl
+Support for VHDL.
 
 @item view-process
 A Unix process browsing tool.
 
 @item view-process
 A Unix process browsing tool.
-@end table
-
-@subsection Program Editing Support (prog)
-
-XEmacs supports a multitude of programming languages.  These
-packages will help your coding.
-
-@table @file
-@item ada
-Ada language support.
-
-@item c-support
-Basic single-file add-ons for editing C code.
-
-@item cc-mode
-C, C++ and Java language support.
 
 
-@item debug
-GUD, gdb, dbx debugging support.
-
-@item ediff
-Interface over patch.
-
-@item emerge
-Another interface over patch.
-
-@item idlwave
-Editing and Shell mode for the Interactive Data Language.
-
-@item jde
-Java language and development support.
+@item viper
+VI emulation support.
 
 
-@item pcl-cvs
-CVS frontend.
+@item vm
+An Emacs mailer.
 
 
-@item prog-modes
-Miscellaneous single-file lisp files for various programming languages.
+@item w3
+A Web browser.
 
 
-@item scheme
-Front-end support for Inferior Scheme.
+@item x-symbol
+Semi WYSIWYG for LaTeX, HTML, etc, using additional fonts.
 
 
-@item semantic
-Semantic bovinator.
+@item xemacs-base
+Fundamental XEmacs support.  Install this unless you wish a totally
+naked XEmacs.
 
 
-@item sh-script
-Support for editing shell scripts.
+@item xemacs-devel
+XEmacs Lisp developer support.  This package contains utilities for
+supporting Lisp development.  It is a single-file package so it may be 
+tailored.
 
 
-@item vc
-Version Control for Free systems.
+@item xslide
+XSL editing support.
 
 
-@item vc-cc
-Version Control for ClearCase.  This package will shortly be
-replaced with clearcase.el
+@item xslt-process
+A minor mode for (X)Emacs which allows running an XSLT processor on a
+buffer.
 
 
-@item vhdl
-Support for VHDL.
+@item zenirc
+ZENIRC IRC Client.
 @end table
 
 @end table
 
-@subsection Word Processing (wp)
+@subsection Mule Support (mule)
 
 
-Working with text.
+MULti-lingual Enhancement.  Support for world scripts such as
+Latin, Arabic, Cyrillic, Chinese, Japanese, Greek, Hebrew etc.
+To use these packages your XEmacs must be compiled with Mule
+support.
 
 @table @file
 
 @table @file
-@item auctex
-Basic TeX/LaTeX support.
+@item edict
+Lisp Interface to EDICT, Kanji Dictionary.
 
 
-@item crisp
-Crisp/Brief emulation.
+@item egg-its
+Wnn (4.2 and 6) support.  SJ3 support.  Must be installed prior to
+XEmacs build.
 
 
-@item edt
-DEC EDIT/EDT emulation.
+@item latin-unity
+Unify character sets in a buffer. When characters belong to disjoint
+character sets, this attempts to translate the characters so
+that they belong to one character set. If the buffer coding system is
+not sufficient, this suggests different coding systems.
 
 
-@item reftex
-Emacs support for LaTeX cross-references, citations.
+@item leim
+Quail.  Used for everything other than English and Japanese.
 
 
-@item texinfo
-XEmacs TeXinfo support.
+@item locale
+Used for localized menubars (French and Japanese) and localized splash
+screens (Japanese).
 
 
-@item textools
-Single-file TeX support.
+@item lookup
+Dictionary support. (This isn't an English dictionary program)
 
 
-@item tpu
-DEC EDIT/TPU support.
+@item mule-base
+Basic Mule support.  Must be installed prior to building with Mule.
 
 
-@item viper
-VI emulation support.
+@item mule-ucs
+Extended coding systems (including Unicode) for XEmacs.
+
+@item skk
+Another Japanese Language Input Method.  Can be used without a
+separate process running as a dictionary server.
 @end table
 
 @end table