296
|
1 @node Packages, Abbrevs, Running, Top
|
|
2 @comment node-name, next, previous, up
|
|
3
|
306
|
4 @section Packages
|
296
|
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
|
306
|
15 @menu
|
|
16 * Package Terminology:: Understanding different kinds of packages.
|
|
17 * Using Packages:: How to install and use packages.
|
|
18 * Building Packages:: Building packages from sources.
|
|
19 @end menu
|
|
20
|
|
21 @node Package Terminology, Using Packages, , Packages
|
|
22 @comment node-name, next, previous, up
|
|
23
|
296
|
24 @subsection Package Flavors
|
|
25
|
|
26 There are two main flavors of packages.
|
|
27
|
306
|
28 @itemize @bullet
|
296
|
29 @item Regular Packages
|
306
|
30 @cindex regular packages
|
296
|
31 A regular package is one in which multiple files are involved and one
|
|
32 may not in general safely remove any of them.
|
|
33
|
|
34 @item Single-File Packages
|
306
|
35 @cindex single-file packages
|
296
|
36 A single-file package is an aggregate collection of thematically
|
|
37 related but otherwise independent lisp files. These files are bundled
|
|
38 together for download convenience and individual files may deleted at
|
|
39 will without any loss of functionality.
|
|
40 @end itemize
|
|
41
|
|
42 @subsection Package Distributions
|
|
43
|
|
44 XEmacs Lisp packages are distributed in two ways depending on the
|
|
45 intended use. Binary Packages are for installers and end-users and may
|
|
46 be installed directly into an XEmacs package directory. Source Packages
|
|
47 are for developers and include all files necessary for rebuilding
|
|
48 bytecompiled lisp and creating tarballs for distribution.
|
|
49
|
|
50 @subsection Binary Packages
|
306
|
51 @cindex binary packages
|
296
|
52 Binary packages may be installed directly into an XEmacs package
|
|
53 hierarchy.
|
|
54
|
|
55 @subsection Source Packages
|
306
|
56 @cindex source packages
|
296
|
57 Source packages contain all of the Package author's (where appropriate
|
|
58 in regular packages) source code plus all of the files necessary to
|
|
59 build distribution tarballs (Unix Tar format files and gzipped for space
|
|
60 savings).
|
|
61
|
306
|
62 @node Using Packages, Building Packages, Package Terminology, Packages
|
|
63 @comment node-name, next, previous, up
|
|
64
|
|
65 @subsection Getting Started
|
|
66
|
|
67 When you first download XEmacs 21, you will usually first grab the
|
|
68 @dfn{core distribution},
|
|
69 @cindex core distribution
|
|
70 a file called
|
|
71 @file{xemacs-21.0.tar.gz}. (Replace the @t{21.0} by the current version
|
|
72 number.) The core distribution contains the sources of XEmacs and a
|
|
73 minimal set of Emacs Lisp files, which are in the subdirectory named
|
|
74 @file{lisp}. This subdirectory used to contain all Emacs Lisp files
|
|
75 distributed with XEmacs.
|
|
76
|
|
77 @subsection Choosing the Packages You Need
|
|
78
|
|
79 The available packages can currently be found in the same ftp directory
|
|
80 where you grabbed the core distribition from, and are located in the
|
|
81 subdirectory @file{binary-packages}. Package file names follow the
|
|
82 naming convention @file{<package-name>-<version>-pkg.tar.gz}.
|
|
83
|
|
84 The file @file{etc/PACKAGES} in the core distribution contains a list of
|
|
85 the packages available at the time of the XEmacs release. Packages are
|
|
86 also listed on the @code{Options} menu under:
|
|
87
|
|
88 @example
|
|
89 Options->Customize->Emacs->Packages
|
|
90 @end example
|
|
91
|
|
92 If you have EFS @ref{(EFS)}, installed and configured packages can be
|
|
93 installed completely from the menubar.
|
|
94
|
|
95 Hint to system administrators of multi-user systems: it might be a good
|
|
96 idea to install all packages and not to interfer with the wishes of your
|
|
97 users.
|
|
98
|
|
99 @subsection Installing packages and XEmacs
|
|
100
|
|
101 The easiest and most correct way to install a package is to do:
|
|
102
|
|
103 @example
|
|
104 M-x package-admin-add-binary-package <return>
|
|
105 @end example
|
|
106
|
|
107 input the location of the package tarball and XEmacs will do the rest
|
|
108 for you. If you have the EFS package installed and configured you can
|
|
109 select package from the customize menu, set their state to on and then
|
|
110 do:
|
|
111
|
|
112 @example
|
|
113 Options->Customize->Update Packages
|
|
114 @end example
|
|
115
|
|
116 This will automatically retrieve the packages you have selected from the
|
|
117 XEmacs ftp site and install them into XEmacs. Additionally it will
|
|
118 update any packages you already have installed to the newest version.
|
|
119 Note that if a package is newly installed you will have to restart
|
|
120 XEmacs for the change to take effect.
|
|
121
|
|
122 @node Building Packages, , Using Packages, Packages
|
|
123 @comment node-name, next, previous, up
|
|
124
|
|
125 Source packages are available from the @file{source-packages}
|
|
126 subdirectory of your favorite XEmacs distribution site. Alternatively,
|
|
127 they are available via CVS from @file{cvs.xemacs.org}. Look at
|
|
128 @file{http://cvs.xemacs.org} for instructions.
|
|
129
|
|
130 @subsection Prerequisites for Building Source Packages
|
296
|
131
|
|
132 You must have GNU @code{cp}, GNU @code{install} (or a BSD compatible
|
|
133 @code{install} program) GNU @code{make} (3.75 or later preferred),
|
|
134 @code{makeinfo} (1.68 from @code{texinfo-3.11} or later required), GNU
|
|
135 @code{tar} and XEmacs 21.0. The source packages will untar into a
|
|
136 correct directory structure. At the top level you must have
|
|
137 @file{XEmacs.rules} and @file{package-compile.el}. These files are
|
|
138 available from the XEmacs FTP site from the same place you obtained your
|
|
139 source package distributions.
|
|
140
|
306
|
141 @subsection What You Can Do With Source Packages
|
296
|
142
|
|
143 NB: A global build operation doesn't exist yet as of 13 January 1998.
|
|
144
|
|
145 Source packages are most useful for creating XEmacs package tarballs
|
|
146 for installation into your own XEmacs installations or for
|
|
147 distributing to others.
|
|
148
|
306
|
149 Supported operations from @file{make} are:
|
296
|
150
|
|
151 @table @code
|
|
152 @item clean
|
|
153 Remove all built files except @file{auto-autoloads.el} and @file{custom-load.el}.
|
|
154
|
|
155 @item distclean
|
|
156 Remove XEmacs backups as well as the files deleted by @code{make clean}.
|
|
157
|
|
158 @item all
|
|
159 Bytecompile all files, build and bytecompile byproduct files like
|
|
160 @file{auto-autoloads.el} and @file{custom-load.el}. Create info version
|
|
161 of TeXinfo documentation if present.
|
|
162
|
|
163 @item srckit
|
|
164 Usually aliased to @code{make srckit-std}. This does a @code{make
|
|
165 distclean} and creates a package source tarball in the staging
|
|
166 directory. This is generally only of use for package maintainers.
|
|
167
|
|
168 @item binkit
|
|
169 May be aliased to @code{binkit-sourceonly}, @code{binkit-sourceinfo},
|
|
170 @code{binkit-sourcedata}, or
|
|
171 @code{binkit-sourcedatainfo}. @code{sourceonly} indicates there is
|
|
172 nothing to install in a data directory or info directory.
|
|
173 @code{sourceinfo} indicates that source and info files are to be
|
|
174 installed. @code{sourcedata} indicates that source and etc (data) files
|
|
175 are to be installed. @code{sourcedatainfo} indicates source, etc
|
|
176 (data), and info files are to be installed. A few packages have needs
|
|
177 beyond the basic templates so this is not yet complete.
|
|
178
|
|
179 @item dist
|
|
180 Runs the rules @code{srckit} followed by @code{binkit}. This is
|
|
181 primarily of use by XEmacs maintainers producing files for distribution.
|
|
182
|
|
183 @end table
|