243
|
1 -*- mode:outline -*-
|
|
2 * Introduction to XEmacs Packages
|
|
3 =================================
|
|
4
|
276
|
5 As of XEmacs 21.0, XEmacs is no longer distributed in a large
|
243
|
6 monolithic distribution. The distribution has been broken up into
|
|
7 separate units called packages. In the general case, one may install
|
|
8 and uninstall various packages freely without having to modify the
|
|
9 XEmacs binary. This gives an installer the ability to tailor an
|
|
10 XEmacs installation for local needs with safe removal of unnecessary
|
|
11 code.
|
|
12
|
|
13 There are two main flavors of packages.
|
|
14
|
|
15 ** Regular Packages
|
|
16 ===================
|
|
17
|
|
18 A regular package is one in which multiple files are involved and one
|
|
19 may not in general safely remove any of them.
|
|
20
|
|
21 ** Single-File Packages
|
|
22 =======================
|
|
23
|
|
24 A single-file package is an aggregate collection of thematically
|
|
25 related but otherwise independent lisp files. These files are bundled
|
|
26 together for download convenience and individual files may deleted at
|
|
27 will without any loss of functionality.
|
|
28
|
|
29 * Package mechanics
|
|
30 ===================
|
|
31
|
|
32 This section describes how package hierarchy directories are put
|
|
33 together and how they may be configured into XEmacs.
|
|
34
|
|
35 ** Package Path
|
|
36 ===============
|
|
37
|
272
|
38 For backwards compatibility and for ease of transition to XEmacs 21, it
|
|
39 is possible to use previous XEmacs installations as package directories.
|
|
40 Specify something like
|
|
41 --package-path="~/.xemacs::/somewhere-newpackages::/usr/local/lib/xemacs-20.4"
|
|
42 to configure when building. You will have extra messages at dump
|
|
43 time relating to lisp shadows which you may ignore. The first
|
|
44 magical null directory `::' is a marker indicating what packages
|
|
45 should only be searched at run-time. The second magical null
|
|
46 directory is used to indicate where Lisp bundled with the running
|
|
47 XEmacs gets put at the back of load path. By specifing the older
|
|
48 directories after the current one, the newer lisp overrides the
|
|
49 older lisp.
|
243
|
50
|
|
51 ** The anatomy of an XEmacs Package hierarchy
|
|
52 =============================================
|
|
53
|
|
54 An XEmacs package is laid out just like a normal installed XEmacs lisp
|
|
55 directory. It may have lisp, etc, info, and lib-src subdirectories.
|
|
56 These directories get added at XEmacs startup to whatever directories
|
|
57 it was already using.
|
|
58
|
|
59 There may be any number of Package hierarchy directories.
|
|
60
|
|
61 * Package Distributions
|
|
62 =======================
|
|
63
|
|
64 XEmacs lisp packages are distributed in two ways depending on the
|
|
65 intended use. Binary Packages are for installers and end-users and
|
|
66 may be installed directly into an XEmacs package directory. Source
|
|
67 Packages are for developers and include all files necessary for
|
|
68 rebuilding bytecompiled lisp and creating tarballs for distribution.
|
|
69
|
|
70 ** Binary Packages
|
|
71 ==================
|
|
72
|
|
73 Binary packages may be installed directly into an XEmacs package
|
|
74 directory. XEmacs package directories are determined at the time
|
|
75 XEmacs is configured for building. The default is
|
|
76 ${prefix}/lib/xemacs/packages. `prefix' defaults to /usr/local unless
|
|
77 changed by the XEmacs configurer. This may be changed by specifying a
|
|
78 path of the form --package-path=directory:directory:directory... (all
|
|
79 directories separated by colons). There is no restriction on the
|
|
80 number of directories. There may be no package directories, but
|
|
81 XEmacs won't be very useful.
|
|
82
|
|
83 ** Source Packages
|
|
84 ==================
|
|
85
|
|
86 Source packages contain all of the Package author's (where appropriate
|
|
87 in regular packages) source code plus all of the files necessary to
|
|
88 build distribution tarballs (Unix Tar format files and gzipped for
|
|
89 space savings).
|
|
90
|
|
91 *** Prerequisites for building Source Packages
|
|
92
|
|
93 You must have GNU cp, GNU ginstall (or a BSD compatible install
|
|
94 program) GNU make (3.75 or later preferred), makeinfo (1.68 from
|
276
|
95 texinfo-3.11 or later required), GNU tar and XEmacs 21.0 :-). The
|
243
|
96 source packages will untar into a correct directory structure. At
|
|
97 the top level you must have XEmacs.rules and package-compile.el.
|
|
98 These files are available from the XEmacs FTP site from the same
|
|
99 place you obtained your source package distributions.
|
|
100
|
|
101 *** What you can do with Source Packages
|
|
102
|
|
103 NB: A global build operation doesn't exist yet as of 13 January 1998.
|
|
104
|
|
105 Source packages are most useful for creating XEmacs package tarballs
|
|
106 for installation into your own XEmacs installations or for
|
|
107 distributing to others.
|
|
108
|
|
109 Supported operations from Make are:
|
|
110
|
|
111 **** clean
|
|
112
|
|
113 Remove all built files except auto-autoloads.el and custom-load.el.
|
|
114
|
|
115 **** distclean
|
|
116
|
|
117 Remove XEmacs backups as well as the files deleted by `make clean'.
|
|
118
|
|
119 **** all
|
|
120
|
|
121 Byte compile all files, build and bytecompile byproduct files like
|
|
122 auto-autoloads.el and custom-load.el. Create info version of TeXinfo
|
|
123 documentation if present.
|
|
124
|
|
125 **** srckit
|
|
126
|
|
127 Usually aliased to `make srckit-std'. This does a `make distclean'
|
|
128 and creates a Package source tarball in the staging directory. This
|
|
129 is generally only of use for package maintainers.
|
|
130
|
|
131 **** binkit
|
|
132
|
|
133 May be aliased to binkit-sourceonly, binkit-sourceinfo,
|
|
134 binkit-sourcedata, or binkit-sourcedatainfo. `sourceonly' indicates
|
|
135 there is nothing to install in a data directory or info directory.
|
|
136 `sourceinfo' indicates that source and info files are to be
|
|
137 installed. `sourcedata' indicates that source and etc (data) files
|
|
138 are to be installed. `sourcedatainfo' indicates source, etc (data),
|
|
139 and info files are to be installed. A few packages have needs beyond
|
|
140 the basic templates so this is not yet complete.
|
|
141
|
|
142 **** dist
|
|
143
|
|
144 Runs the rules `srckit' followed by `binkit'. This is primarily of
|
|
145 use by XEmacs maintainers producing files for distribution.
|
|
146
|
|
147 * Description of available packages by category
|
|
148 ===============================================
|
|
149
|
|
150 This data is up-to-date as of 13 January 1998.
|
|
151
|
|
152 ** Library Packages (libs)
|
|
153 ==========================
|
|
154
|
|
155 These packages are required to build and support most of the rest of
|
|
156 XEmacs. By design, xemacs-base is a `regular' package. Use restraint
|
|
157 when adding new files there as it is required by almost everything.
|
|
158
|
|
159 *** Sun
|
|
160
|
|
161 Support for Sparcworks. Must be installed prior to XEmacs build to be
|
|
162 effective.
|
|
163
|
|
164 *** apel
|
|
165
|
|
166 A Portable Emacs Library. Used by XEmacs MIME support.
|
|
167
|
|
168 *** edebug
|
|
169
|
|
170 A Lisp debugger.
|
|
171
|
|
172 *** efs
|
|
173
|
|
174 Treat files on remote systems the same as local files. Also contains
|
|
175 dired.
|
|
176
|
|
177 *** mail-lib
|
|
178
|
|
179 Fundamental lisp files for providing email support.
|
|
180
|
|
181 *** tooltalk
|
|
182
|
|
183 Support for building with Tooltalk. Must be installed prior to XEmacs
|
|
184 build to be effective.
|
|
185
|
|
186 *** xemacs-base
|
|
187
|
|
188 Fundamental XEmacs support. Install this unless you wish a totally
|
|
189 naked XEmacs.
|
|
190
|
|
191 *** xemacs-devel
|
|
192
|
|
193 XEmacs Lisp developer support. This package contains utilities for
|
|
194 supporting Lisp development. It is a single-file package so it may be
|
|
195 tailored.
|
|
196
|
|
197 ** Communications Packages (comm)
|
|
198 =================================
|
|
199
|
|
200 These packages provide support for various communications, primarily
|
|
201 email and usenet.
|
|
202
|
|
203 *** footnote
|
|
204
|
|
205 Footnoting in mail message editing modes.
|
|
206
|
|
207 *** gnats
|
|
208
|
|
209 XEmacs bug reports.
|
|
210
|
|
211 *** gnus
|
|
212
|
|
213 The Gnus Newsreader and Mailreader.
|
|
214
|
|
215 *** mailcrypt
|
|
216
|
|
217 Support for messaging encryption with PGP.
|
|
218
|
|
219 *** mh-e
|
|
220
|
|
221 Front end support for MH.
|
|
222
|
|
223 *** net-utils
|
|
224
|
|
225 Miscellaneous Networking Utilities. This is a single-file package and
|
|
226 files may be deleted at will.
|
|
227
|
|
228 *** ph
|
|
229
|
|
230 Emacs implementation of the ph client to CCSO/qi directory servers.
|
|
231
|
|
232 *** rmail
|
|
233
|
|
234 An obsolete Emacs mailer. If you do not already use it don't start.
|
|
235
|
|
236 *** supercite
|
|
237
|
|
238 An Emacs citation tool. Useful with all Emacs Mailers and Newsreaders.
|
|
239
|
|
240 *** tm
|
|
241
|
|
242 Emacs MIME support.
|
|
243
|
|
244 *** vm
|
|
245
|
|
246 An Emacs mailer. This package must be installed prior to building XEmacs.
|
|
247
|
|
248 *** w3
|
|
249
|
|
250 A Web browser.
|
|
251
|
|
252 ** Games and Amusements (games)
|
|
253 ===============================
|
|
254
|
|
255 *** cookie
|
|
256
|
|
257 Spook and Yow (Zippy quotes).
|
|
258
|
|
259 *** games
|
|
260
|
|
261 Tetris, Sokoban, and Snake.
|
|
262
|
|
263 *** mine
|
|
264
|
|
265 Minehunt.
|
|
266
|
|
267 *** misc-games
|
|
268
|
|
269 Other amusements and diversions.
|
|
270
|
|
271 ** Mule Support (mule)
|
|
272 ======================
|
|
273
|
|
274 *** egg-its
|
|
275
|
|
276 Wnn (4.2 and 6) support. SJ3 support. Must be installed prior to
|
|
277 XEmacs build.
|
|
278
|
|
279 *** leim
|
|
280
|
|
281 Quail. Used for everything other than English and Japanese.
|
|
282
|
|
283 *** locale
|
|
284
|
|
285 Used for localized menubars (French and Japanese) and localized splash
|
|
286 screens (Japanese).
|
|
287
|
|
288 *** mule-base
|
|
289
|
|
290 Basic Mule support. Must be installed prior to building with Mule.
|
|
291
|
|
292 *** skk
|
|
293
|
|
294 Another Japanese Language Input Method. Can be used without a
|
|
295 separate process running as a dictionary server.
|
|
296
|
|
297 ** Productivity Packages (oa)
|
|
298 =============================
|
|
299
|
|
300 *** calendar
|
|
301
|
|
302 Calendar and diary support.
|
|
303
|
|
304 *** edit-utils
|
|
305
|
|
306 Single file lisp packages for various XEmacs goodies. Load this and
|
|
307 weed out the junk you don't want.
|
|
308
|
|
309 *** forms
|
|
310
|
|
311 Forms editing support (obsolete, use the builtin Widget instead).
|
|
312
|
|
313 *** frame-icon
|
|
314
|
|
315 Provide a WM icon based on major mode.
|
|
316
|
|
317 *** hm--html-menus
|
|
318
|
|
319 HTML editing.
|
|
320
|
|
321 *** ispell
|
|
322
|
|
323 Spell-checking with ispell.
|
|
324
|
|
325 *** pc
|
|
326
|
|
327 PC style interface emulation.
|
|
328
|
|
329 *** psgml
|
|
330
|
|
331 Validated HTML/SGML editing.
|
|
332
|
|
333 *** sgml
|
|
334
|
|
335 SGML/Linuxdoc-SGML editing.
|
|
336
|
|
337 *** slider
|
|
338
|
|
339 User interface tool.
|
|
340
|
|
341 *** speedbar
|
|
342
|
|
343 ??? Document me.
|
|
344
|
|
345 *** strokes
|
|
346
|
|
347 Mouse enhancement utility.
|
|
348
|
|
349 *** text-modes
|
|
350
|
|
351 Various single file lisp packages for editing text files.
|
|
352
|
|
353 *** time
|
|
354
|
|
355 Display time & date on the modeline.
|
|
356
|
|
357 ** Operating System Utilities (os)
|
|
358 ==================================
|
|
359
|
|
360 *** eterm
|
|
361
|
|
362 Terminal emulator.
|
|
363
|
|
364 *** igrep
|
|
365
|
|
366 Enhanced front-end for Grep.
|
|
367
|
|
368 *** ilisp
|
|
369
|
|
370 Front-end for Inferior Lisp.
|
|
371
|
|
372 *** os-utils
|
|
373
|
|
374 Miscellaneous single-file O/S utilities.
|
|
375
|
|
376 *** view-process
|
|
377
|
|
378 A Unix process browsing tool.
|
|
379
|
|
380 ** Program Editing Support (prog)
|
|
381 =================================
|
|
382
|
|
383 *** ada
|
|
384
|
|
385 Ada language support.
|
|
386
|
|
387 *** c-support
|
|
388
|
|
389 Basic single-file add-ons for editing C code.
|
|
390
|
|
391 *** cc-mode
|
|
392
|
|
393 C, C++ and Java language support.
|
|
394
|
|
395 *** debug
|
|
396
|
|
397 GUD, gdb, dbx debugging support.
|
|
398
|
|
399 *** ediff
|
|
400
|
|
401 Interface over patch.
|
|
402
|
|
403 *** emerge
|
|
404
|
|
405 Another interface over patch.
|
|
406
|
|
407 *** pcl-cvs
|
|
408
|
|
409 CVS frontend.
|
|
410
|
|
411 *** prog-modes
|
|
412
|
|
413 Miscellaneous single-file lisp files for various programming languages.
|
|
414
|
|
415 *** scheme
|
|
416
|
|
417 Front-end support for Inferior Scheme.
|
|
418
|
|
419 *** sh-script
|
|
420
|
|
421 Support for editing shell scripts.
|
|
422
|
|
423 *** vc
|
|
424
|
|
425 Version Control for Free systems. This package must be installed
|
|
426 prior to building XEmacs.
|
|
427
|
|
428 *** vc-cc
|
|
429
|
|
430 Version Control for ClearCase. This package must be installed prior
|
|
431 to building XEmacs [broken as of XEmacs 20.5-beta19].
|
|
432
|
|
433 *** vhdl
|
|
434
|
|
435 Support for VHDL.
|
|
436
|
|
437 ** Word Processing (wp)
|
|
438 =======================
|
|
439
|
|
440 *** auctex
|
|
441
|
|
442 Basic TeX/LaTeX support.
|
|
443
|
|
444 *** crisp
|
|
445
|
|
446 Crisp/Brief emulation.
|
|
447
|
|
448 *** edt
|
|
449
|
|
450 DEC EDIT/EDT emulation.
|
|
451
|
|
452 *** texinfo
|
|
453
|
|
454 XEmacs TeXinfo support.
|
|
455
|
|
456 *** textools
|
|
457
|
|
458 Single-file TeX support.
|
|
459
|
|
460 *** tpu
|
|
461
|
|
462 DEC EDIT/TPU support.
|
|
463
|
|
464 *** viper
|
|
465
|
|
466 VI emulation support.
|