296
|
1 @node Packages, Abbrevs, Running, Top
|
|
2 @comment node-name, next, previous, up
|
|
3
|
|
4 @section Introduction to XEmacs Packages
|
|
5 @cindex packages
|
|
6
|
|
7 The XEmacs 21 distribution comes only with a very basic set of
|
|
8 built-in modes and packages. Most of the packages that were part of
|
|
9 the distribution of earlier versions of XEmacs are now separately
|
|
10 available. The installer as well as the user can choose which
|
|
11 packages to install; the actual installation process is easy.
|
|
12 This gives an installer the ability to tailor an XEmacs installation for
|
|
13 local needs with safe removal of unnecessary code.
|
|
14
|
|
15 @subsection Package Flavors
|
|
16
|
|
17 There are two main flavors of packages.
|
|
18
|
|
19 @itemize @emph
|
|
20 @item Regular Packages
|
|
21 A regular package is one in which multiple files are involved and one
|
|
22 may not in general safely remove any of them.
|
|
23
|
|
24 @item Single-File Packages
|
|
25 A single-file package is an aggregate collection of thematically
|
|
26 related but otherwise independent lisp files. These files are bundled
|
|
27 together for download convenience and individual files may deleted at
|
|
28 will without any loss of functionality.
|
|
29 @end itemize
|
|
30
|
|
31 @subsection Package Distributions
|
|
32
|
|
33 XEmacs Lisp packages are distributed in two ways depending on the
|
|
34 intended use. Binary Packages are for installers and end-users and may
|
|
35 be installed directly into an XEmacs package directory. Source Packages
|
|
36 are for developers and include all files necessary for rebuilding
|
|
37 bytecompiled lisp and creating tarballs for distribution.
|
|
38
|
|
39 @subsection Binary Packages
|
|
40 Binary packages may be installed directly into an XEmacs package
|
|
41 hierarchy.
|
|
42
|
|
43 @subsection Source Packages
|
|
44
|
|
45 Source packages contain all of the Package author's (where appropriate
|
|
46 in regular packages) source code plus all of the files necessary to
|
|
47 build distribution tarballs (Unix Tar format files and gzipped for space
|
|
48 savings).
|
|
49
|
|
50 @subsection Prerequisites for building Source Packages
|
|
51
|
|
52 You must have GNU @code{cp}, GNU @code{install} (or a BSD compatible
|
|
53 @code{install} program) GNU @code{make} (3.75 or later preferred),
|
|
54 @code{makeinfo} (1.68 from @code{texinfo-3.11} or later required), GNU
|
|
55 @code{tar} and XEmacs 21.0. The source packages will untar into a
|
|
56 correct directory structure. At the top level you must have
|
|
57 @file{XEmacs.rules} and @file{package-compile.el}. These files are
|
|
58 available from the XEmacs FTP site from the same place you obtained your
|
|
59 source package distributions.
|
|
60
|
|
61 @subsection What you can do with Source Packages
|
|
62
|
|
63 NB: A global build operation doesn't exist yet as of 13 January 1998.
|
|
64
|
|
65 Source packages are most useful for creating XEmacs package tarballs
|
|
66 for installation into your own XEmacs installations or for
|
|
67 distributing to others.
|
|
68
|
|
69 Supported operations from Make are:
|
|
70
|
|
71 @table @code
|
|
72 @item clean
|
|
73 Remove all built files except @file{auto-autoloads.el} and @file{custom-load.el}.
|
|
74
|
|
75 @item distclean
|
|
76 Remove XEmacs backups as well as the files deleted by @code{make clean}.
|
|
77
|
|
78 @item all
|
|
79 Bytecompile all files, build and bytecompile byproduct files like
|
|
80 @file{auto-autoloads.el} and @file{custom-load.el}. Create info version
|
|
81 of TeXinfo documentation if present.
|
|
82
|
|
83 @item srckit
|
|
84 Usually aliased to @code{make srckit-std}. This does a @code{make
|
|
85 distclean} and creates a package source tarball in the staging
|
|
86 directory. This is generally only of use for package maintainers.
|
|
87
|
|
88 @item binkit
|
|
89 May be aliased to @code{binkit-sourceonly}, @code{binkit-sourceinfo},
|
|
90 @code{binkit-sourcedata}, or
|
|
91 @code{binkit-sourcedatainfo}. @code{sourceonly} indicates there is
|
|
92 nothing to install in a data directory or info directory.
|
|
93 @code{sourceinfo} indicates that source and info files are to be
|
|
94 installed. @code{sourcedata} indicates that source and etc (data) files
|
|
95 are to be installed. @code{sourcedatainfo} indicates source, etc
|
|
96 (data), and info files are to be installed. A few packages have needs
|
|
97 beyond the basic templates so this is not yet complete.
|
|
98
|
|
99 @item dist
|
|
100 Runs the rules @code{srckit} followed by @code{binkit}. This is
|
|
101 primarily of use by XEmacs maintainers producing files for distribution.
|
|
102
|
|
103 @end table
|