Mercurial > hg > xemacs-beta
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. |