comparison man/xemacs/packages.texi @ 458:c33ae14dd6d0 r21-2-44

Import from CVS: tag r21-2-44
author cvs
date Mon, 13 Aug 2007 11:42:25 +0200
parents 3078fd1074e8
children 0784d089fdc9
comparison
equal deleted inserted replaced
457:4b9290a33024 458:c33ae14dd6d0
15 This gives an installer the ability to tailor an XEmacs installation for 15 This gives an installer the ability to tailor an XEmacs installation for
16 local needs with safe removal of unnecessary code. 16 local needs with safe removal of unnecessary code.
17 17
18 @menu 18 @menu
19 * Package Terminology:: Understanding different kinds of packages. 19 * Package Terminology:: Understanding different kinds of packages.
20 * Using Packages:: How to install and use packages. 20 * Installing Packages:: How to install packages.
21 * Building Packages:: Building packages from sources. 21 * Building Packages:: Building packages from CVS sources.
22 * Local.rules File:: This is an important file don't forget to create/edit it.
22 * Creating Packages:: The basics. 23 * Creating Packages:: The basics.
23 * Available Packages:: A brief, out-of-date, directory of packaged LISP. 24 * Available Packages:: A brief directory of packaged LISP.
24 @end menu 25 @end menu
25 26
26 @node Package Terminology, Using Packages, , Packages 27 @node Package Terminology, Installing Packages, , Packages
27 @comment node-name, next, previous, up 28 @comment node-name, next, previous, up
28 29 @heading Package Terminology:
29 @subsection Package Flavors 30 @subsection Package Flavors
30 31
31 There are two main flavors of packages. 32 There are two main flavors of packages.
32 33
33 @itemize @bullet 34 @itemize @bullet
39 @item Single-File Packages 40 @item Single-File Packages
40 @cindex single-file packages 41 @cindex single-file packages
41 A single-file package is an aggregate collection of thematically 42 A single-file package is an aggregate collection of thematically
42 related but otherwise independent lisp files. These files are bundled 43 related but otherwise independent lisp files. These files are bundled
43 together for download convenience and individual files may be deleted at 44 together for download convenience and individual files may be deleted at
44 will without any loss of functionality. 45 will without any loss of functionality. However, we would recommend
46 that you follow this rule of thumb: "When in doubt, don't delete".
45 @end itemize 47 @end itemize
46 48
47 @subsection Package Distributions 49 @subsection Package Distributions
48 50 @cindex package distributions
49 XEmacs Lisp packages are distributed in two ways, depending on the 51 XEmacs Lisp packages are distributed in two ways, depending on the
50 intended use. Binary Packages are for installers and end-users and may 52 intended use. Binary Packages are for installers and end-users that can
51 be installed directly into an XEmacs package directory. Source Packages 53 be installed directly into an XEmacs package directory. Source Packages
52 are for developers and include all files necessary for rebuilding 54 are for developers and include all files necessary for rebuilding
53 bytecompiled lisp and creating tarballs for distribution. 55 bytecompiled lisp and creating tarballs for distribution.
54 56
55 @subsection Binary Packages 57 @subsection Binary Packages
62 Source packages contain all of the Package author's (where appropriate 64 Source packages contain all of the Package author's (where appropriate
63 in regular packages) source code plus all of the files necessary to 65 in regular packages) source code plus all of the files necessary to
64 build distribution tarballs (Unix Tar format files, gzipped for space 66 build distribution tarballs (Unix Tar format files, gzipped for space
65 savings). 67 savings).
66 68
67 @node Using Packages, Building Packages, Package Terminology, Packages 69 Currently, source packages are only available via CVS. See
68 @comment node-name, next, previous, up 70 @url{http://cvs.xemacs.org/} for details.
69 71 @node Installing Packages, Building Packages, Package Terminology, Packages
72 @comment node-name, next, previous, up
73 @cindex installing packages
74 @cindex install
75 @heading Installing Packages:
70 @subsection Getting Started 76 @subsection Getting Started
71 77
72 When you first download XEmacs 21, you will usually first grab the 78 When you first download XEmacs 21, you will usually first grab the
73 @dfn{core distribution}, 79 @dfn{core distribution},
74 @cindex core distribution 80 @cindex core distribution
75 a file called 81 a file called
76 @file{xemacs-21.0.tar.gz}. (Replace the @t{21.0} by the current version 82 @file{xemacs-21.x.x.tar.gz}. (Replace the @t{21.x.x} by the current version
77 number.) The core distribution contains the sources of XEmacs and a 83 number.) The core distribution contains the sources of XEmacs and a
78 minimal set of Emacs Lisp files, which are in the subdirectory named 84 minimal set of Emacs Lisp files, which are in the subdirectory named
79 @file{lisp}. This subdirectory used to contain all Emacs Lisp files 85 @file{lisp}. This subdirectory used to contain all Emacs Lisp files
80 distributed with XEmacs. Now, to conserve disk space, most 86 distributed with XEmacs. Now, to conserve disk space, most
81 non-essential packages were made optional. 87 non-essential packages were made optional.
82 88
83 @subsection Choosing the Packages You Need 89 @subsection Choosing the Packages You Need
84 90 @cindex choosing packages
85 The available packages can currently be found in the same ftp directory 91 The @ref{Available Packages} can currently be found in the same ftp directory
86 where you grabbed the core distribution from, and are located in the 92 where you grabbed the core distribution from, and are located in the
87 subdirectory @file{packages/binary-packages}. Package file names follow 93 subdirectory @file{packages}. Package file names follow
88 the naming convention @file{<package-name>-<version>-pkg.tar.gz}. 94 the naming convention @file{<package-name>-<version>-pkg.tar.gz}.
89 95
90 If you have EFS @ref{(EFS)}, packages can be installed over the network. 96 If you have EFS @ref{(EFS)}, packages can be installed over the network.
91 Alternatively, if you have copies of the packages locally, you can 97 Alternatively, if you have copies of the packages locally, you can
92 install packages from a local disk or CDROM. 98 install packages from a local disk or CDROM.
93 99
94 The file @file{etc/PACKAGES} in the core distribution contains a list of 100 The file @file{etc/PACKAGES} in the core distribution contains a list of
95 the packages available at the time of the XEmacs release. Packages are 101 the @ref{Available Packages} at the time of the XEmacs release. Packages are
96 also listed on the @code{Options} menu under: 102 also listed on the @code{Options} menu under:
97 103
98 @example 104 @example
99 Options->Customize->Emacs->Packages 105 Options -> Customize -> Emacs -> Packages
100 @end example 106 @end example
101 107
102 However, don't select any of these menu picks unless you actually want 108 However, don't select any of these menu picks unless you actually want
103 to install the given package (and have properly configured your system 109 to install the given package (and have properly configured your system
104 to do so). 110 to do so).
106 You can also get a list of available packages, and whether or not they 112 You can also get a list of available packages, and whether or not they
107 are installed, using the visual package browser and installer. You can 113 are installed, using the visual package browser and installer. You can
108 access it via the menus: 114 access it via the menus:
109 115
110 @example 116 @example
111 Options->Manage Packages->List & Install 117 Options -> Manage Packages -> List & Install
112 @end example 118 @end example
113 119
114 Or, you can get to it via the keyboard: 120 Or, you can get to it via the keyboard:
115 121
116 @example 122 @example
127 133
128 @example 134 @example
129 M-x package-get-package-provider RET thingatpt 135 M-x package-get-package-provider RET thingatpt
130 @end example 136 @end example
131 137
132 which will return something like (fsf-compat "1.06"). You can the use 138 which will return something like (fsf-compat "1.08"). You can the use
133 one of the methods above for installing the package you want. 139 one of the methods above for installing the package you want.
134 140
135 @subsection XEmacs and Installing Packages 141 @subsection XEmacs and Installing Packages
136 142
137 Normally, packages are installed over the network, using EFS 143 There are three main ways to install packages:
138 @ref{(EFS)}. However, you may not have network access, or you may 144
139 already have some or all of the packages on a local disk, such as a 145 @menu
140 CDROM. If you want to install from a local disk, you must first tell 146 * Sumo:: All at once, using the 'Sumo Tarball'.
141 XEmacs where to find the package binaries. This is done by adding a line 147 * Manually:: Using individual package tarballs.
142 like the following to your init file: 148 * Automatically:: Using the package tools from XEmacs.
143 149 * Which Packages:: Which packages to install.
144 @example 150 * Removing Packages:: Removing packages.
145 (setq package-get-remote (cons (list nil "/my/path/to/package/binaries") 151 @end menu
146 package-get-remote)) 152
147 @end example 153 But regardless of the method you use to install packages, they can only
148 154 be used by XEmacs after a restart.
149 @xref{Init File}. 155
150 156 @node Sumo, Manually, ,Installing Packages
151 Here, you'd change @file{/my/path/to/package/binaries} to be the path 157 @comment node-name, next, previous, up
152 to your local package binaries. Next, restart XEmacs, and you're ready 158 @cindex sumo package install
153 to go (advanced users can just re-evaluate the sexp). 159 @heading Installing the Sumo Packages:
154 160 Those with little time, cheap connections and plenty of disk space can
155 If you are installing from a temporary, one-time directory, you can also 161 install all the packages at once using the sumo tarballs.
156 add these directory names to @code{package-get-remote} using: 162 Download the file: @file{xemacs-sumo.tar.gz}
157 163
158 @example 164 For an XEmacs compiled with Mule you also need: @file{xemacs-mule-sumo.tar.gz}
159 M-x pui-add-install-directory 165
160 @end example 166 N.B. They are called 'Sumo Tarballs' for good reason. They are
161 167 currently about 19MB and 4.5MB (gzipped) respectively.
162 Note, however, that any directories added using this function are not 168
163 saved; this information will be lost when you quit XEmacs. 169 Install them by:
164 170
165 If you're going to install over the network, you only have to insure 171 @code{cd $prefix/lib/xemacs ; gunzip -c <tarballname> | tar xvf - RET}
166 that EFS @ref{(EFS)} works, and that it can get outside a firewall, if 172
167 you happen to be behind one. You shouldn't have to do anything else; 173 Or, if you have GNU tar:
168 XEmacs already knows where to go. However you can add your own mirrors 174
169 to this list. See @code{package-get-remote}. 175 @code{cd $prefix/lib/xemacs ; tar zxvf /path/to/<tarballname> RET}
170 176
171 The easiest way to install a package is to use the visual package 177 As the Sumo tarballs are not regenerated as often as the individual
172 browser and installer, using the menu pick: 178 packages, it is recommended that you use the automatic package tools
173 179 afterwards to pick up any recent updates.
174 @example 180
175 Options->Manage Packages->List & Install 181 @node Manually, Automatically, Sumo, Installing Packages
176 @end example 182 @comment node-name, next, previous, up
177 or 183 @cindex manual package install
178 @example 184 @heading Manual Package Installation:
179 Options->Manage Packages->Using Custom->Select-> ... 185 Fetch the packages from the FTP site, CD-ROM whatever. The filenames
180 @end example 186 have the form @file{name-<version>-pkg.tar.gz} and are gzipped tar files. For
181 187 a fresh install it is sufficient to untar the file at the top of the
182 You can also access it using the keyboard: 188 package hierarchy.
183 189
184 @example 190 Note: If you are upgrading packages already installed, it's best to
185 M-x pui-list-packages 191 remove the old package first @ref{Removing Packages}.
186 @end example 192
193 For example if we are installing the @file{xemacs-base}
194 package (version 1.48):
195
196 @example
197 mkdir $prefix/lib/xemacs/xemacs-packages RET # if it does not exist yet
198 cd $prefix/lib/xemacs/xemacs-packages RET
199 gunzip -c /path/to/xemacs-base-1.48-pkg.tar.gz | tar xvf - RET
200
201 Or if you have GNU tar, the last step can be:
202
203 tar zxvf /path/to/xemacs-base-1.48-pkg.tar.gz RET
204 @end example
205
206 For MULE related packages, it is best to untar into the mule-packages
207 hierarchy, i.e. for the @file{mule-base} package, version 1.37:
208
209 @example
210 mkdir $prefix/lib/xemacs/mule-packages RET # if it does not exist yet
211 cd $prefix/lib/xemacs/mule-packages RET
212 gunzip -c /path/to/mule-base-1.37-pkg.tar.gz | tar xvf - RET
213
214 Or if you have GNU tar, the last step can be:
215
216 tar zxvf /path/to/mule-base-1.37-pkg.tar.gz RET
217 @end example
218
219 @node Automatically, Which Packages ,Manually, Installing Packages
220 @comment node-name, next, previous, up
221 @cindex automatic package install
222 @cindex package tools
223 @heading Automatic Package Installation:
224 XEmacs comes with some tools to make the periodic updating and
225 installing easier. It will notice if new packages or versions are
226 available and will fetch them from the FTP site.
227
228 Unfortunately this requires that a few packages are already in place.
229 You will have to install them by hand as above or use a SUMO tarball.
230 This requirement will hopefully go away in the future. The packages
231 you need are:
232
233 @example
234 efs - To fetch the files from the FTP site or mirrors.
235 xemacs-base - Needed by efs.
236
237 and optionally:
238
239 mule-base - Needed if you want to use XEmacs with MULE.
240 @end example
241
242 After installing these by hand, fire up XEmacs and follow these
243 steps.
244
245 Note: The menus in XEmacs 21.2.x and up have changed slightly, so
246 where I mention "Options -> Manage Packages", substitute "Tools ->
247 Packages".
248
249 @enumerate 1
250 @item Choose a download site.
251 via menu: Options -> Manages Packages -> Add Download Site
252 via keyb: @code{M-x customize-variable RET package-get-remote RET}
253 (put in the details of remote host and directory)
254
255 If the package tarballs _AND_ the package-index file are in a
256 local directory, you can: @code{M-x pui-add-install-directory RET}
257
258 @item Obtain a list of packages and display the list in a buffer named
259 @file{*Packages*}.
260 menu: Options -> Manage Packages -> List & Install
261 keyb: @code{M-x pui-list-packages RET}
262
263 XEmacs will now connect to the remote site and download the
264 latest package-index file. If you see an error about the
265 package-index entries not being PGP signed, you can safely
266 ignore this because PGP has not been integrated into the XEmacs
267 package tools yet.
187 268
188 The visual package browser will then display a list of all packages. 269 The visual package browser will then display a list of all packages.
189 Help information will be displayed at the very bottom of the buffer; you 270 Help information will be displayed at the very bottom of the buffer; you
190 may have to scroll down to see it. You can also press @kbd{?} to get 271 may have to scroll down to see it. You can also press @kbd{?} to get
191 the same help. From this buffer, you can tell the package status by the 272 the same help. From this buffer, you can tell the package status by the
235 @end table 316 @end table
236 317
237 Moving the mouse over a package will also cause additional information 318 Moving the mouse over a package will also cause additional information
238 about the package to be displayed in the minibuffer. 319 about the package to be displayed in the minibuffer.
239 320
240 @subsection Other package installation interfaces 321
241 322 @item Choose the packages you wish to install.
242 For an alternative package interface, you can select packages from the 323 mouse: Click button 2 on the package name.
243 customize menus, under: 324 keyb: @kbd{RET} on the package name
244 325
245 @example 326 @item Make sure you have everything you need.
246 Options->Customize->Emacs->Packages-> ... 327 menu: Packages -> Add Required
247 @end example 328 keyb: @kbd{r}
248 or 329
249 @example 330 XEmacs will now search for packages that are required by the
250 Options->Manage Packages->Using Custom->Select-> ... 331 ones that you have chosen to install and offer to select
251 @end example 332 those packages also.
252 333
253 Set their state to on, and then do: 334 For novices and gurus alike, this step can save your bacon.
254 335 It's easy to forget to install a critical package.
255 @example 336
256 Options->Manage Packages->Using Custom->Update Packages 337 @item Download and install the packages.
257 @end example 338 menu: Packages -> Install/Remove Selected
258 339 keyb: @kbd{x}
259 This will automatically retrieve the packages you have selected from the 340 @end enumerate
260 XEmacs ftp site or your local disk, and install them into
261 XEmacs. Additionally it will update any packages you already have
262 installed to the newest version. Note that if a package is newly
263 installed you will have to restart XEmacs for the change to take effect.
264 341
265 You can also install packages using a semi-manual interface: 342 You can also install packages using a semi-manual interface:
266 343
267 @example 344 @example
268 M-x package-get-all <return> 345 M-x package-get-all <return>
269 @end example 346 @end example
270 347
271 Enter the name of the package (e.g., @code{prog-modes}), and XEmacs 348 Enter the name of the package (e.g., @code{prog-modes}), and XEmacs
272 will search for the latest version (as listed in the lisp file 349 will search for the latest version and install it and any packages that
273 @file{lisp/package-get-base.el}), and install it and any packages that
274 it depends upon. 350 it depends upon.
275 351
276 @subsection Manual Binary Package Installation 352 @node Which Packages, Removing Packages, Automatically, Installing Packages
277 353 @comment node-name, next, previous, up
278 Pre-compiled, binary packages can be installed in either a system 354 @cindex which packages
279 package directory (this is determined when XEmacs is compiled), or in 355 @cindex choosing packages
280 one of the following 356 @heading Which Packages to Install:
281 subdirectories of your @file{$HOME} directory: 357 This is difficult to say. When in doubt install a package. If you
282 358 administrate a big site it might be a good idea to just install
283 @example 359 everything. A good minimal set of packages for XEmacs-latin1 would be
284 ~/.xemacs/mule-packages 360
285 ~/.xemacs/xemacs-packages 361 xemacs-base, xemacs-devel, c-support, cc-mode, debug, dired, efs,
286 @end example 362 edit-utils, fsf-compat, mail-lib, net-utils, os-utils, prog-modes,
287 363 text-modes, time
288 Packages in the former directory will only be found by a Mule-enabled 364
289 XEmacs. 365 If you are using the XEmacs package tools, don't forget to do:
290 366
291 XEmacs does not have to be running to install binary packages, although 367 Packages -> Add Required
292 XEmacs will not know about any newly-installed packages until you 368
293 restart XEmacs. Note, however, that installing a newer version of a 369 To make sure you have everything that the packages you have chosen to
294 package while XEmacs is running could cause strange errors in XEmacs; 370 install need.
295 it's best to exit XEmacs before upgrading an existing package. 371
296 372 See also @ref{Available Packages} for further descriptions of the individual
297 To install binary packages manually: 373 packages.
298 374
299 @enumerate 375 @node Removing Packages, ,Which Packages, Installing Packages
300 @item 376 @comment node-name, next, previous, up
301 Download the package(s) that you want to install. Each binary package 377 @cindex removing packages
302 will typically be a gzip'd tarball. 378 @cindex deleting packages
303 379 @heading Removing Packages:
304 @item 380 Because the exact files and their locations contained in a package may
305 Decide where to install the packages: in the system package 381 change it is recommended to remove a package first before installing a
306 directory, or in @file{~/.xemacs/mule-packages} or 382 new version. In order to facilitate removal each package contains an
307 @file{~/.xemacs/xemacs-packages}, respectively. If you want to install 383 @file{pgkinfo/MANIFEST.pkgname} file which list all the files belonging
308 the packages in the system package directory, make sure you can write 384 to the package.
309 into that directory. If you want to install in your @file{$HOME} 385
310 directory, create the directory, @file{~/.xemacs/mule-packages} or 386 No need to panic, you don't have to go through the
311 @file{~/.xemacs/xemacs-packages}, respectively. 387 @file{pkinfo/MANIFEST.pkgname} and manually delete the files. Instead, use
312 388 @code{M-x package-admin-delete-binary-package RET}.
313 @item 389
314 Next, @code{cd} to the directory under which you want to install the 390 Note that the interactive package tools included with XEmacs already do
315 package(s). 391 this for you.
316 392
317 @item 393 @node Building Packages, Local.rules File, Installing Packages, Packages
318 From this directory, uncompress and extract each of the gzip'd tarballs 394 @comment node-name, next, previous, up
319 that you downloaded in step 1. Unix and Cygnus cygwin users will 395 @cindex building packages
320 typically do this using the commands: 396 @cindex package building
321 397 @heading Building Packages:
322 @example 398 Currently, source packages are only available via anonymous CVS. See
323 gunzip < package.tar.gz | tar xvf - 399 @url{http://cvs.xemacs.org/} for details of checking out the
324 @end example 400 @file{xemacs-packages} module.
325
326 Above, replace @file{package.tar.gz} with the filename of the
327 package that you downloaded in step 1.
328
329 Of course, if you use GNU @code{tar}, you could also use:
330
331 @example
332 tar xvzf package.tar.gz
333 @end example
334
335 @comment What about native MS Windows users???
336
337 @item
338 That's it. Quit and restart XEmacs to get it to recognize any new or
339 changed packages.
340
341 @end enumerate
342
343 @node Building Packages, Creating Packages, Using Packages, Packages
344 @comment node-name, next, previous, up
345
346 Source packages are available from the @file{packages/source-packages}
347 subdirectory of your favorite XEmacs distribution site. Alternatively,
348 they are available via CVS from @file{cvs.xemacs.org}. Look at
349 @file{http://cvs.xemacs.org} for instructions.
350 401
351 @subsection Prerequisites for Building Source Packages 402 @subsection Prerequisites for Building Source Packages
352 403
353 You must have GNU @code{cp}, GNU @code{install} (or a BSD compatible 404 @table @code
354 @code{install} program) GNU @code{make} (3.75 or later preferred), 405 @item GNU cp
355 @code{makeinfo} (1.68 from @code{texinfo-3.11} or later required), GNU 406 @item GNU ginstall
356 @code{tar} and XEmacs 21.0. The source packages will untar into a 407 (or a BSD compatible install program).
357 correct directory structure. At the top level you must have 408 @item GNU make
358 @file{XEmacs.rules} and @file{package-compile.el}. These files are 409 (3.75 or later preferred).
359 available from the XEmacs FTP site from the same place you obtained your 410 @item makeinfo
360 source package distributions. 411 (1.68 from texinfo-3.11 or later required).
412 @item GNU tar
413 (or equivalent).
414 @item GNU gzip
415 (or equivalent).
416 @item A properly configured @file{Local.rules} file.
417 @ref{Local.rules File}.
418 @end table
419 And of course, XEmacs 21.0 or higher.
361 420
362 @subsection What You Can Do With Source Packages 421 @subsection What You Can Do With Source Packages
363 422
364 NB: A global build operation doesn't exist yet as of 13 January 1998. 423 The packages CVS sources are most useful for creating XEmacs package
365 424 tarballs for installation into your own XEmacs installations or for
366 Source packages are most useful for creating XEmacs package tarballs
367 for installation into your own XEmacs installations or for
368 distributing to others. 425 distributing to others.
369 426
370 Supported operations from @file{make} are: 427 Supported operations from @file{make} are:
371 428
372 @table @code 429 @table @code
373 @item clean
374 Remove all built files except @file{auto-autoloads.el} and @file{custom-load.el}.
375
376 @item distclean
377 Remove XEmacs backups as well as the files deleted by @code{make clean}.
378
379 @item all 430 @item all
380 Bytecompile all files, build and bytecompile byproduct files like 431 Bytecompile all files, build and bytecompile byproduct files like
381 @file{auto-autoloads.el} and @file{custom-load.el}. Create info version 432 @file{auto-autoloads.el} and @file{custom-load.el}. Create info version
382 of TeXinfo documentation if present. 433 of TeXinfo documentation if present.
434
435 @item bindist
436 Does a @code{make all} as well as create a binary package tarball in the
437 staging directory.
438
439 @item install
440 Bytecompile all files, build and bytecompile byproduct files like
441 @file{auto-autoloads.el} and @file{custom-load.el}. Create info version
442 of TeXinfo documentation if present. And install everything into the
443 staging directory.
383 444
384 @item srckit 445 @item srckit
385 Usually aliased to @code{srckit-std}. This does a @code{make 446 Usually aliased to @code{srckit-std}. This does a @code{make
386 distclean} and creates a package source tarball in the staging 447 distclean} and creates a package source tarball in the staging
387 directory. This is generally only of use for package maintainers. 448 directory. This is generally only of use for package maintainers.
399 460
400 @item dist 461 @item dist
401 Runs the rules @code{srckit} followed by @code{binkit}. This is 462 Runs the rules @code{srckit} followed by @code{binkit}. This is
402 primarily of use by XEmacs maintainers producing files for distribution. 463 primarily of use by XEmacs maintainers producing files for distribution.
403 464
404 @end table 465 @item clean
405 466 Remove all built files except @file{auto-autoloads.el} and @file{custom-load.el}.
406 @node Creating Packages, Available Packages, Building Packages, Packages 467
407 @comment node-name, next, previous, up 468 @item distclean
408 469 Remove all created files.
470 @end table
471
472 @node Local.rules File, Creating Packages, Building Packages, Packages
473 @comment node-name, next, previous, up
474 @cindex local.rules
475 @heading The Local.rules File:
476 This file is used when building and installing packages from source. In
477 the top level of the CVS module, @file{xemacs-packages}, contains the
478 file, @file{Local.rules.template}. Simply copy that to
479 @file{Local.rules} and edit it to suit your needs.
480
481 These are the variables in 'Local.rules' that you will need to
482 address.
483
484 @table @var
485 @item symlink =
486 Set this to 't' if you want to do a "run in place".
487 Setting this doesn't work well with 'make bindist'
488
489 @item XEMACS_PACKAGES =
490 This is where you set the normal packages that you
491 want to install. eg:
492 @example
493 XEMACS_PACKAGES = libs/xemacs-base comm/bbdb
494 @end example
495
496 @item XEMACS_STAGING = $@{XEMACS_PACKAGES_BASE@}/../Packages
497 Set this to where you want normal packages to be
498 installed to.
499
500 @item PACKAGE_INDEX = package-index
501 If you want the package-index file to have a different
502 name, change this.
503
504 @item BUILD_WITHOUT_MULE =
505 Building from CVS defaults to building the Mule
506 packages. Set this to 't' if you don't want/have Mule
507
508 @item MULE_PACKAGES =
509 Same as for 'XEMACS_PACKAGES' except you list the Mule
510 packages you want to install here. eg:
511 @example
512 MULE_PACKAGES = mule/mule-base mule/skk
513 @end example
514
515 @item MULE_STAGING = $@{XEMACS_PACKAGES_BASE@}/../Mule-Packages
516 Set this to where you want Mule packages installed
517 to. Note: 'make bindist' does not use this variable.
518
519 @item XEMACS = xemacs
520 If your XEmacs isn't in your path, change this.
521
522 @item XEMACS_NATIVE_NT =
523 Set this to 't' if you are building on WinNT.
524
525 @item INSTALL = install -c
526 The path to your BSD compatible install program.
527
528 @item TAR = tar
529 The path to your tar program
530
531 @item BZIP2 =
532 If you want bzip2 tarballs, set this.
533
534 @item MAKEINFO = makeinfo
535 The path to your makeinfo program
536 @end table
537
538
539 @node Creating Packages, Available Packages, Local.rules File, Packages
540 @comment node-name, next, previous, up
541 @cindex creating packages
542 @heading Creating Packages:
409 Creating a package from an existing Lisp library is not very difficult. 543 Creating a package from an existing Lisp library is not very difficult.
410 544
411 In addition to the Lisp libraries themselves, you need a 545 In addition to the Lisp libraries themselves, you need a
412 @file{package-info.in} file and a simple @file{Makefile}. The rest is 546 @file{package-info.in} file and a simple @file{Makefile}. The rest is
413 done by @file{XEmacs.rules}, part of the packaging system 547 done by @file{XEmacs.rules}, part of the packaging system
528 packages have needs beyond the basic templates. See @file{XEmacs.rules} 662 packages have needs beyond the basic templates. See @file{XEmacs.rules}
529 or a future revision of this manual for details. 663 or a future revision of this manual for details.
530 664
531 @node Available Packages, , Creating Packages, Packages 665 @node Available Packages, , Creating Packages, Packages
532 @comment node-name, next, previous, up 666 @comment node-name, next, previous, up
533 667 @cindex available packages
534 This section is surely out-of-date. If you're sure that XEmacs is 668 @cindex packages
535 able to do something, but your installed XEmacs won't do it for you, 669 @heading Available Packages:
536 it's probably in a package. If you can't find it in this section, 670 This section lists the Lisp packages that are currently available from
537 that's a bug---please report it. It is very hard to keep this section 671 xemacs.org and it's mirrors. If a particular package that you are
538 up-to-date; your reports, comments, and questions will help a lot. 672 looking for isn't here, please send a message to the
539 673 @email{xemacs-beta@@xemacs.org, XEmacs Beta list}.
540 This data is up-to-date as of 10 February 1999. (Ouch! I told you!) 674
675 This data is up-to-date as of January 17, 2001.
541 676
542 @subsection Library Packages (libs) 677 @subsection Library Packages (libs)
543 678
544 These packages are required to build and support most of the rest of 679 These packages are required to build and support most of the rest of
545 XEmacs. By design, xemacs-base is a `regular' package. Use restraint 680 XEmacs. By design, xemacs-base is a `regular' package. Use restraint
550 Support for Sparcworks. 685 Support for Sparcworks.
551 686
552 @item apel 687 @item apel
553 A Portable Emacs Library. Used by XEmacs MIME support. 688 A Portable Emacs Library. Used by XEmacs MIME support.
554 689
555 @item edebug
556 A Lisp debugger.
557
558 @item dired 690 @item dired
559 The DIRectory EDitor is for manipulating, and running commands on 691 The DIRectory EDitor is for manipulating, and running commands on
560 files in a directory. 692 files in a directory.
561 693
694 @item edebug
695 A Lisp debugger.
696
562 @item efs 697 @item efs
563 Treat files on remote systems the same as local files. 698 Treat files on remote systems the same as local files.
564 699
700 @item elib
701 Portable Emacs Lisp utilities library.
702
703 @item fsf-compat
704 FSF Emacs compatibility files.
705
565 @item mail-lib 706 @item mail-lib
566 Fundamental lisp files for providing email support. 707 Fundamental lisp files for providing email support.
708
709 @item sounds-au
710 XEmacs Sun sound files.
711
712 @item sounds-wav
713 XEmacs Microsoft sound files.
567 714
568 @item tooltalk 715 @item tooltalk
569 Support for building with Tooltalk. 716 Support for building with Tooltalk.
570 717
571 @item xemacs-base 718 @item xemacs-base
582 729
583 These packages provide support for various communications, primarily 730 These packages provide support for various communications, primarily
584 email and usenet. 731 email and usenet.
585 732
586 @table @file 733 @table @file
734 @item bbdb
735 The Big Brother Data Base
736
737 @item eicq
738 ICQ Client developed and tested on Linux x86;
739 only supported on that platform
740
741 @item eudc
742 Emacs Unified Directory Client (LDAP, PH).
743
587 @item footnote 744 @item footnote
588 Footnoting in mail message editing modes. 745 Footnoting in mail message editing modes.
589 746
590 @item gnats 747 @item gnats
591 XEmacs bug reports. 748 XEmacs bug reports.
593 @item gnus 750 @item gnus
594 The Gnus Newsreader and Mailreader. 751 The Gnus Newsreader and Mailreader.
595 752
596 @item mailcrypt 753 @item mailcrypt
597 Support for messaging encryption with PGP. 754 Support for messaging encryption with PGP.
755
756 @item mew
757 Messaging in an Emacs World.
598 758
599 @item mh-e 759 @item mh-e
600 Front end support for MH. 760 Front end support for MH.
601 761
602 @item net-utils 762 @item net-utils
603 Miscellaneous Networking Utilities. This is a single-file package and 763 Miscellaneous Networking Utilities. This is a single-file package and
604 files may be deleted at will. 764 files may be deleted at will.
605 765
606 @item ph
607 Emacs implementation of the ph client to CCSO/qi directory servers.
608
609 @item rmail 766 @item rmail
610 An obsolete Emacs mailer. If you do not already use it don't start. 767 An obsolete Emacs mailer. If you do not already use it don't start.
611 768
612 @item supercite 769 @item supercite
613 An Emacs citation tool. Useful with all Emacs Mailers and Newsreaders. 770 An Emacs citation tool. Useful with all Emacs Mailers and Newsreaders.
614 771
615 @item tm 772 @item tm
616 Emacs MIME support. 773 Emacs MIME support. Not needed for Gnus >= 5.8.0
617 774
618 @item vm 775 @item vm
619 An Emacs mailer. 776 An Emacs mailer.
620 777
621 @item w3 778 @item w3
622 A Web browser. 779 A Web browser.
780
781 @item zenirc
782 ZENIRC IRC Client.
623 @end table 783 @end table
624 784
625 @subsection Games and Amusements (games) 785 @subsection Games and Amusements (games)
786
787 All work and no play...
626 788
627 @table @file 789 @table @file
628 @item cookie 790 @item cookie
629 Spook and Yow (Zippy quotes). 791 Spook and Yow (Zippy quotes).
630 792
638 Other amusements and diversions. 800 Other amusements and diversions.
639 @end table 801 @end table
640 802
641 @subsection Mule Support (mule) 803 @subsection Mule Support (mule)
642 804
805 MULti-lingual Enhancement. Support for world scripts such as
806 Latin, Arabic, Cyrillic, Chinese, Japanese, Greek, Hebrew etc.
807 To use these packages your XEmacs must be compiled with Mule
808 support.
809
643 @table @file 810 @table @file
811 @item edict
812 Lisp Interface to EDICT, Kanji Dictionary.
813
644 @item egg-its 814 @item egg-its
645 Wnn (4.2 and 6) support. SJ3 support. Must be installed prior to 815 Wnn (4.2 and 6) support. SJ3 support. Must be installed prior to
646 XEmacs build. 816 XEmacs build.
647 817
648 @item leim 818 @item leim
650 820
651 @item locale 821 @item locale
652 Used for localized menubars (French and Japanese) and localized splash 822 Used for localized menubars (French and Japanese) and localized splash
653 screens (Japanese). 823 screens (Japanese).
654 824
825 @item lookup
826 Dictionary support. (This isn't an English dictionary program)
827
655 @item mule-base 828 @item mule-base
656 Basic Mule support. Must be installed prior to building with Mule. 829 Basic Mule support. Must be installed prior to building with Mule.
657 830
658 @item skk 831 @item skk
659 Another Japanese Language Input Method. Can be used without a 832 Another Japanese Language Input Method. Can be used without a
660 separate process running as a dictionary server. 833 separate process running as a dictionary server.
661 @end table 834 @end table
662 835
663 @subsection Productivity Packages (oa) 836 @subsection Productivity Packages (oa)
664 837
838 Things to make life a little easier.
839
665 @table @file 840 @table @file
841 @item calc
842 Emacs calculator.
843
666 @item calendar 844 @item calendar
667 Calendar and diary support. 845 Calendar and diary support.
668 846
669 @item edit-utils 847 @item edit-utils
670 Single file lisp packages for various XEmacs goodies. Load this and 848 Single file lisp packages for various XEmacs goodies. Load this and
671 weed out the junk you don't want. 849 weed out the junk you don't want.
672 850
673 @item forms 851 @item forms
674 Forms editing support (obsolete, use the builtin Widget instead). 852 Forms editing support (obsolete, use the built-in Widget instead).
675 853
676 @item frame-icon 854 @item frame-icon
677 Provide a WM icon based on major mode. 855 Provide a WM icon based on major mode.
678 856
679 @item hm--html-menus 857 @item hm--html-menus
693 871
694 @item slider 872 @item slider
695 User interface tool. 873 User interface tool.
696 874
697 @item speedbar 875 @item speedbar
698 ??? Document me. 876 Provides a separate frame with convenient references.
699 877
700 @item strokes 878 @item strokes
701 Mouse enhancement utility. 879 Mouse enhancement utility.
702 880
703 @item text-modes 881 @item text-modes
707 Display time & date on the modeline. 885 Display time & date on the modeline.
708 @end table 886 @end table
709 887
710 @subsection Operating System Utilities (os) 888 @subsection Operating System Utilities (os)
711 889
890 Tools for working with the operating system.
891
712 @table @file 892 @table @file
893 @item eshell
894 Command shell implemented entirely in Emacs Lisp.
895
713 @item eterm 896 @item eterm
714 Terminal emulator. 897 Terminal emulator.
715 898
716 @item igrep 899 @item igrep
717 Enhanced front-end for Grep. 900 Enhanced front-end for Grep.
721 904
722 @item os-utils 905 @item os-utils
723 Miscellaneous single-file O/S utilities, for printing, archiving, 906 Miscellaneous single-file O/S utilities, for printing, archiving,
724 compression, remote shells, etc. 907 compression, remote shells, etc.
725 908
909 @item pcomplete
910 Provides programmatic completion.
911
912 @item ps-print-nomule
913 Old, but no-Mule safe ps-print.
914
726 @item view-process 915 @item view-process
727 A Unix process browsing tool. 916 A Unix process browsing tool.
728 @end table 917 @end table
729 918
730 @subsection Program Editing Support (prog) 919 @subsection Program Editing Support (prog)
920
921 XEmacs supports a multitude of programming languages. These
922 packages will help your coding.
731 923
732 @table @file 924 @table @file
733 @item ada 925 @item ada
734 Ada language support. 926 Ada language support.
735 927
746 Interface over patch. 938 Interface over patch.
747 939
748 @item emerge 940 @item emerge
749 Another interface over patch. 941 Another interface over patch.
750 942
943 @item idlwave
944 Editing and Shell mode for the Interactive Data Language.
945
946 @item jde
947 Java language and development support.
948
751 @item pcl-cvs 949 @item pcl-cvs
752 CVS frontend. 950 CVS frontend.
753 951
754 @item prog-modes 952 @item prog-modes
755 Miscellaneous Lisp libraries for various programming languages. 953 Miscellaneous single-file lisp files for various programming languages.
756 954
757 @item scheme 955 @item scheme
758 Front-end support for Inferior Scheme. 956 Front-end support for Inferior Scheme.
759 957
958 @item semantic
959 Semantic bovinator.
960
760 @item sh-script 961 @item sh-script
761 Support for editing shell scripts. 962 Support for editing shell scripts.
762 963
763 @item vc 964 @item vc
764 Version control for free systems. 965 Version Control for Free systems.
765 966
766 @item vc-cc 967 @item vc-cc
767 Version control for ClearCase. 968 Version Control for ClearCase. This package will shortly be
969 replaced with clearcase.el
768 970
769 @item vhdl 971 @item vhdl
770 Support for VHDL. 972 Support for VHDL.
771 @end table 973 @end table
772 974
773 @subsection Word Processing (wp) 975 @subsection Word Processing (wp)
976
977 Working with text.
774 978
775 @table @file 979 @table @file
776 @item auctex 980 @item auctex
777 Basic TeX/LaTeX support. 981 Basic TeX/LaTeX support.
778 982
780 Crisp/Brief emulation. 984 Crisp/Brief emulation.
781 985
782 @item edt 986 @item edt
783 DEC EDIT/EDT emulation. 987 DEC EDIT/EDT emulation.
784 988
989 @item reftex
990 Emacs support for LaTeX cross-references, citations.
991
785 @item texinfo 992 @item texinfo
786 XEmacs TeXinfo support. 993 XEmacs TeXinfo support.
787 994
788 @item textools 995 @item textools
789 Single-file TeX support. 996 Single-file TeX support.