Source

xemacs-21.4 / etc / PACKAGES

Full commit
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
						-*- mode:outline -*-
* Introduction to XEmacs Packages
=================================

As of XEmacs 21.0, XEmacs is no longer distributed in a large
monolithic distribution.  The distribution has been broken up into
separate units called packages.  In the general case, one may install
and uninstall various packages freely without having to modify the
XEmacs binary.  This gives an installer the ability to tailor an
XEmacs installation for local needs with safe removal of unnecessary
code.

There are two main flavors of packages.

** Regular Packages
===================

A regular package is one in which multiple files are involved and one
may not in general safely remove any of them.

** Single-File Packages
=======================

A single-file package is an aggregate collection of thematically
related but otherwise independent lisp files.  These files are bundled 
together for download convenience and individual files may deleted at
will without any loss of functionality.

* Package mechanics
===================

This section describes how package hierarchy directories are put
together and how they may be configured into XEmacs.

** Package Path
===============

For backwards compatibility and for ease of transition to XEmacs 21, it
is possible to use previous XEmacs installations as package directories.
Specify something like
--package-path="~/.xemacs::/somewhere-newpackages::/usr/local/lib/xemacs-20.4"
to configure when building.  You will have extra messages at dump
time relating to lisp shadows which you may ignore.  The first
magical null directory `::' is a marker indicating what packages
should only be searched at run-time.  The second magical null
directory is used to indicate where Lisp bundled with the running
XEmacs gets put at the back of load path.  By specifing the older
directories after the current one, the newer lisp overrides the
older lisp.

** The anatomy of an XEmacs Package hierarchy
=============================================

An XEmacs package is laid out just like a normal installed XEmacs lisp
directory.  It may have lisp, etc, info, and lib-src subdirectories.
These directories get added at XEmacs startup to whatever directories
it was already using.

There may be any number of Package hierarchy directories.

* Package Distributions
=======================

XEmacs lisp packages are distributed in two ways depending on the
intended use.  Binary Packages are for installers and end-users and
may be installed directly into an XEmacs package directory.  Source
Packages are for developers and include all files necessary for
rebuilding bytecompiled lisp and creating tarballs for distribution.

** Binary Packages
==================

Binary packages may be installed directly into an XEmacs package
directory.  XEmacs package directories are determined at the time
XEmacs is configured for building.  The default is
${prefix}/lib/xemacs/packages.  `prefix' defaults to /usr/local unless 
changed by the XEmacs configurer.  This may be changed by specifying a 
path of the form --package-path=directory:directory:directory... (all
directories separated by colons).  There is no restriction on the
number of directories.  There may be no package directories, but
XEmacs won't be very useful.

** Source Packages
==================

Source packages contain all of the Package author's (where appropriate
in regular packages) source code plus all of the files necessary to
build distribution tarballs (Unix Tar format files and gzipped for
space savings).

*** Prerequisites for building Source Packages

You must have GNU cp, GNU ginstall (or a BSD compatible install
program) GNU make (3.75 or later preferred), makeinfo (1.68 from
texinfo-3.11 or later required), GNU tar and XEmacs 21.0 :-).  The
source packages will untar into a correct directory structure.  At
the top level you must have XEmacs.rules and package-compile.el.
These files are available from the XEmacs FTP site from the same
place you obtained your source package distributions.

*** What you can do with Source Packages

NB:  A global build operation doesn't exist yet as of 13 January 1998.

Source packages are most useful for creating XEmacs package tarballs
for installation into your own XEmacs installations or for
distributing to others.

Supported operations from Make are:

**** clean

Remove all built files except auto-autoloads.el and custom-load.el.

**** distclean

Remove XEmacs backups as well as the files deleted by `make clean'.

**** all

Byte compile all files, build and bytecompile byproduct files like
auto-autoloads.el and custom-load.el.  Create info version of TeXinfo
documentation if present.

**** srckit

Usually aliased to `make srckit-std'.  This does a `make distclean'
and creates a Package source tarball in the staging directory.  This
is generally only of use for package maintainers.

**** binkit

May be aliased to binkit-sourceonly, binkit-sourceinfo,
binkit-sourcedata, or binkit-sourcedatainfo. `sourceonly' indicates
there is nothing to install in a data directory or info directory.
`sourceinfo' indicates that source and info files are to be
installed.  `sourcedata' indicates that source and etc (data) files
are to be installed.  `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.

**** dist

Runs the rules `srckit' followed by `binkit'.  This is primarily of
use by XEmacs maintainers producing files for distribution.

* Description of available packages by category
===============================================

This data is up-to-date as of 13 January 1998.

** Library Packages (libs)
==========================

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.

*** Sun

Support for Sparcworks.  Must be installed prior to XEmacs build to be 
effective.

*** apel

A Portable Emacs Library.  Used by XEmacs MIME support.

*** edebug

A Lisp debugger.

*** efs

Treat files on remote systems the same as local files.  Also contains
dired.

*** mail-lib

Fundamental lisp files for providing email support.

*** tooltalk

Support for building with Tooltalk.  Must be installed prior to XEmacs 
build to be effective.

*** xemacs-base

Fundamental XEmacs support.  Install this unless you wish a totally
naked XEmacs.

*** 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.

** Communications Packages (comm)
=================================

These packages provide support for various communications, primarily
email and usenet.

*** footnote

Footnoting in mail message editing modes.

*** gnats

XEmacs bug reports.

*** gnus

The Gnus Newsreader and Mailreader.

*** mailcrypt

Support for messaging encryption with PGP.

*** mh-e

Front end support for MH.

*** net-utils

Miscellaneous Networking Utilities.  This is a single-file package and 
files may be deleted at will.

*** ph

Emacs implementation of the ph client to CCSO/qi directory servers.

*** rmail

An obsolete Emacs mailer.  If you do not already use it don't start.

*** supercite

An Emacs citation tool.  Useful with all Emacs Mailers and Newsreaders.

*** tm

Emacs MIME support.

*** vm

An Emacs mailer.  This package must be installed prior to building XEmacs.

*** w3

A Web browser.

** Games and Amusements (games)
===============================

*** cookie

Spook and Yow (Zippy quotes).

*** games

Tetris, Sokoban, and Snake.

*** mine

Minehunt.

*** misc-games

Other amusements and diversions.

** Mule Support (mule)
======================

*** egg-its

Wnn (4.2 and 6) support.  SJ3 support.  Must be installed prior to
XEmacs build.

*** leim

Quail.  Used for everything other than English and Japanese.

*** locale

Used for localized menubars (French and Japanese) and localized splash
screens (Japanese).

*** mule-base

Basic Mule support.  Must be installed prior to building with Mule.

*** skk

Another Japanese Language Input Method.  Can be used without a
separate process running as a dictionary server.

** Productivity Packages (oa)
=============================

*** calendar

Calendar and diary support.

*** edit-utils

Single file lisp packages for various XEmacs goodies.  Load this and
weed out the junk you don't want.

*** forms

Forms editing support (obsolete, use the builtin Widget instead).

*** frame-icon

Provide a WM icon based on major mode.

*** hm--html-menus

HTML editing.

*** ispell

Spell-checking with ispell.

*** pc

PC style interface emulation.

*** psgml

Validated HTML/SGML editing.

*** sgml

SGML/Linuxdoc-SGML editing.

*** slider

User interface tool.

*** speedbar

??? Document me.

*** strokes

Mouse enhancement utility.

*** text-modes

Various single file lisp packages for editing text files.

*** time

Display time & date on the modeline.

** Operating System Utilities (os)
==================================

*** eterm

Terminal emulator.

*** igrep

Enhanced front-end for Grep.

*** ilisp

Front-end for Inferior Lisp.

*** os-utils

Miscellaneous single-file O/S utilities.

*** view-process

A Unix process browsing tool.

** Program Editing Support (prog)
=================================

*** ada

Ada language support.

*** c-support

Basic single-file add-ons for editing C code.

*** cc-mode

C, C++ and Java language support.

*** debug

GUD, gdb, dbx debugging support.

*** ediff

Interface over patch.

*** emerge

Another interface over patch.

*** pcl-cvs

CVS frontend.

*** prog-modes

Miscellaneous single-file lisp files for various programming languages.

*** scheme

Front-end support for Inferior Scheme.

*** sh-script

Support for editing shell scripts.

*** vc

Version Control for Free systems.  This package must be installed
prior to building XEmacs.

*** vc-cc

Version Control for ClearCase.  This package must be installed prior
to building XEmacs [broken as of XEmacs 20.5-beta19].

*** vhdl

Support for VHDL.

** Word Processing (wp)
=======================

*** auctex

Basic TeX/LaTeX support.

*** crisp

Crisp/Brief emulation.

*** edt

DEC EDIT/EDT emulation.

*** texinfo

XEmacs TeXinfo support.

*** textools

Single-file TeX support.

*** tpu

DEC EDIT/TPU support.

*** viper

VI emulation support.