331
|
1 The XEmacs Packages Quick Start Guide
|
|
2 -------------------------------------
|
|
3
|
|
4 This text is intended to help you get started installing a new XEmacs
|
|
5 and its packages from start. For details see the 'Startup Paths' and
|
|
6 'Packages' sections of the XEmacs info manual.
|
|
7
|
|
8 Real Real Quickstart FAQ
|
|
9 ------------------------
|
|
10
|
|
11 Q. Do I need to have the packages to compile XEmacs?
|
398
|
12 A. No, XEmacs will build and install just fine without any packages
|
|
13 installed. However, only the most basic editing functions will be
|
|
14 available with no packages installed, so installing packages is an
|
|
15 essential part of making your installed XEmacs _useful_.
|
331
|
16
|
|
17 Q. I really liked the old way that packages were bundled and do not
|
|
18 want to mess with packages at all.
|
|
19 A. You can grab all the packages at once like you used to with old
|
|
20 XEmacs versions, skip to the 'Sumo Tarball' section below.
|
|
21
|
|
22 A note of caution
|
|
23 -----------------
|
|
24
|
398
|
25 The XEmacs package system is still in its infancy. Please expect a few
|
|
26 minor hurdles on the way. Also neither the interface nor the structure is
|
331
|
27 set in stone. The XEmacs maintainers reserve the right to sacrifice
|
|
28 backwards compatibility as quirks are worked out over the coming
|
398
|
29 releases.
|
331
|
30
|
|
31 Some Package Theory
|
|
32 -------------------
|
|
33
|
|
34 In order to reduce the size and increase the maintainability of XEmacs,
|
|
35 the majority of the Elisp packages that came with previous releases
|
|
36 have been unbundled. They have been replaced by the package system.
|
|
37 Each elisp add-on (or groups of them when they are small) now comes
|
|
38 in its own tarball that contains a small search hierarchy.
|
|
39
|
398
|
40 You select just the ones you need. Install them by untarring them into
|
331
|
41 the right place. On startup XEmacs will find them, set up the load
|
|
42 path correctly, install autoloads, etc, etc.
|
|
43
|
|
44 Package hierarchies
|
|
45 -------------------
|
|
46
|
|
47 On Startup XEmacs looks for packages in so called package hierarchies.
|
|
48 These can be specified by the 'package-path' parameter to the
|
|
49 'configure' script. However by default there are three system wide
|
|
50 hierarchies.
|
|
51
|
|
52 $prefix/lib/xemacs/site-packages
|
|
53 Local and 3rd party packages go here.
|
|
54
|
|
55 $prefix/lib/xemacs/mule-packages
|
|
56 Only searched by MULE-enabled XEmacsen.
|
|
57
|
|
58 $prefix/lib/xemacs/xemacs-packages
|
|
59 Normal packages go here.
|
|
60
|
|
61 Where to get the packages
|
|
62 -------------------------
|
|
63
|
|
64 Packages are available from ftp://ftp.xemacs.org/pub/xemacs/packages
|
398
|
65 and its mirrors.
|
331
|
66
|
|
67 How to install the packages
|
|
68 ---------------------------
|
|
69
|
|
70 1. All at once, using the 'Sumo Tarball'.
|
|
71 2. By hand.
|
|
72 3. Automatically, using the package tools from XEmacs.
|
|
73
|
|
74 The Sumo Tarball
|
|
75 ----------------
|
|
76
|
|
77 Those with little time, cheap connections and plenty of disk space can
|
398
|
78 install all the packages at once using the sumo tarballs.
|
333
|
79 Download the file
|
331
|
80
|
398
|
81 xemacs-sumo.tar.gz
|
331
|
82
|
333
|
83 For an XEmacs compiled with Mule you also need
|
331
|
84
|
398
|
85 xemacs-mule-sumo.tar.gz
|
331
|
86
|
333
|
87 N.B. They are called 'Sumo Tarballs' for good reason. They are
|
|
88 currently about 15MB and 2.3MB (gzipped) respectively.
|
331
|
89
|
|
90 Install them by
|
|
91
|
|
92 cd $prefix/lib/xemacs ; gunzip -c <tarballname> | tar xf -
|
|
93
|
|
94 As the Sumo tarballs are not regenerated as often as the individual
|
|
95 packages, it is recommended that you use the automatic package tools
|
|
96 afterwards to pick up any recent updates.
|
|
97
|
|
98 Installing by Hand
|
|
99 ------------------
|
|
100
|
|
101 Fetch the packages from the ftp site, CDROM whatever. The filenames
|
|
102 have the form name-<version>-pkg.tar.gz and are gzipped tar files. For
|
|
103 a fresh install it is sufficient to untar the file at the top of the
|
|
104 package hierarchy. For example if we are installing the 'xemacs-base'
|
|
105 package in version 1.27:
|
|
106
|
|
107 mkdir $prefix/lib/xemacs/xemacs-packages # if it does not exist yet
|
|
108 cd $prefix/lib/xemacs/xemacs-packages
|
|
109 gunzip -c ...../xemacs-base-1.27-pkg.tar.gz | tar xf -
|
|
110
|
|
111 For MULE related packages, it is best to untar in the mule-packages
|
|
112 hierarchy, i.e. for the mule-base package, version 1.25
|
|
113
|
|
114 mkdir $prefix/lib/xemacs/mule-packages # if it does not exist yet
|
|
115 cd $prefix/lib/xemacs/mule-packages
|
|
116 gunzip -c ...../mule-base-1.25-pkg.tar.gz | tar xf -
|
|
117
|
|
118 Installing automatically
|
|
119 ------------------------
|
|
120
|
|
121 XEmacs comes with some tools to make the periodic updating and
|
|
122 installing easier. It will notice if new packages or versions are
|
|
123 available and will fetch them from the ftp site.
|
|
124
|
398
|
125 Unfortunately this requires that a few packages are already in place.
|
|
126 You will have to install them by hand as above or use a SUMO tarball.
|
331
|
127 This requirement will hopefully go away in the future. The packages
|
|
128 you need are:
|
|
129
|
|
130 efs - To fetch the files from the ftp site or mirrors.
|
|
131 xemacs-base - Needed by efs.
|
|
132
|
|
133 and optionally:
|
|
134
|
|
135 mailcrypt - If you have PGP installed and want to verify the
|
|
136 signature of the index file.
|
398
|
137 mule-base - Needed if you want to use XEmacs with MULE.
|
331
|
138
|
|
139 After installing these by hand, you can start XEmacs. (It is a good
|
|
140 idea to use 'xemacs -vanilla' here as your startup files might need
|
|
141 things now moved to packages.)
|
|
142
|
|
143 - First you need to specify an FTP site to use.
|
|
144 Use Options->Manage Packages->Add Download Site
|
|
145 or M-x customize-variable RET package-get-remote RET
|
|
146
|
|
147 Alternatively, if you already have the packages on a local disk
|
|
148 then you can specify this directly using 'M-x
|
|
149 pui-add-install-directory'. Please make sure you also have a
|
|
150 corresponding copy of the package index there.
|
|
151
|
|
152 - Invoke Options->Manage Packages->List & Install
|
|
153 or M-x pui-list-packages RET
|
|
154 XEmacs will now first try to fetch a new version of the package
|
|
155 index from the FTP site. Depending on whether you are using
|
|
156 'mailcrypt/PGP', you will get some question about keys to fetch or
|
|
157 whether to use the index without verifying the signature. If the
|
|
158 new index was different from the one already on disk, XEmacs will
|
|
159 offer you to overwrite the old index.
|
|
160
|
|
161 - XEmacs will show you a buffer named "*Packages*" with an overview
|
|
162 of available and installed packages, including a short description.
|
|
163 In this buffer you can select which packages you want using the
|
|
164 mouse or using RET.
|
|
165
|
|
166 - When you are finished choosing packages, invoke
|
|
167 'Packages->Install/Remove Select' from the menu or type 'x' to
|
|
168 begin installing packages.
|
398
|
169
|
331
|
170 After Installation
|
|
171 ------------------
|
|
172
|
|
173 New packages can only be used by XEmacs after a restart.
|
|
174
|
|
175 Note to MULE users
|
|
176 ------------------
|
|
177
|
398
|
178 Unlike all other packages the mule-base package is used at build/dump
|
331
|
179 time. This means that you need this available before compiling XEmacs
|
|
180 with MULE. Also it is a good idea to keep packages that are
|
|
181 MULE-only separate by putting them in the mule-packages hierarchy.
|
|
182
|
|
183 Which Packages to install?
|
|
184 --------------------------
|
|
185
|
|
186 This is difficult to say. When in doubt install a package. If you
|
|
187 administrate a big site it might be a good idea to just install
|
|
188 everything. A good minimal set of packages for XEmacs-latin1 would be
|
|
189
|
|
190 xemacs-base, xemacs-devel, c-support, cc-mode, debug, dired, efs,
|
|
191 edit-utils, fsf-compat, mail-lib, net-utils, os-utils, prog-modes,
|
|
192 text-modes, time
|
|
193
|
|
194 Unfortunately the package system currently provides neither
|
|
195 dependencies nor conflicts. This will be a future enhancement. The
|
|
196 above set includes most packages that are used by others.
|
|
197
|
|
198 See also '.../etc/PACKAGES' for further descriptions of the individual
|
|
199 packages (currently outdated).
|
|
200
|
|
201 Upgrading/Removing Packages
|
|
202 ---------------------------
|
|
203
|
|
204 As the exact files and their locations contained in a package may
|
398
|
205 change it is recommended to remove a package first before installing a
|
331
|
206 new version. In order to facilitate removal each package contains an
|
|
207 pgkinfo/MANIFEST.pkgname file which list all the files belong to the
|
|
208 package. M-x package-admin-delete-binary-package RET can be used to
|
|
209 remove a package using this file.
|
|
210
|
|
211 Note that the interactive package tools included with XEmacs already do
|
|
212 this for you.
|
|
213
|
|
214 User Package directories
|
|
215 ------------------------
|
|
216
|
|
217 In addition to the system wide packages, each user can have his own
|
398
|
218 packages installed in "~/.xemacs/xemacs-packages". If you want to
|
331
|
219 install packages there using the interactive tools, you need to set
|
398
|
220 'pui-package-install-dest-dir' to "~/.xemacs/xemacs-packages"
|
331
|
221
|
|
222 Site lisp/Site start
|
|
223 --------------------
|
|
224
|
|
225 The site-packages hierarchy replaces the old 'site-lisp' directory.
|
|
226 XEmacs no longer looks into a 'site-lisp' directly by default.
|
|
227 A good place to put 'site-start.el' would be in
|
|
228 $prefix/lib/xemacs/site-packages/lisp/
|
398
|
229
|
|
230 Finding the right packages
|
|
231 --------------------------
|
|
232
|
|
233 If you want to find out which package contains the functionality you
|
|
234 are looking for, use M-x package-get-package-provider, and give it a
|
|
235 symbol that is likely to be in that package. For example, if some
|
|
236 code you want to use has a (require 'thingatpt) in it, try doing
|
|
237 M-x package-get-package-provider RET thingatpt , which will return
|
|
238 something like: (fsf-compat "1.06").
|