Next: Installation under MS Windows, Previous: Advice for package providers, Up: Installation [Contents][Index]
Often people without system administration privileges want to install
software for their private use. In that case you need to pass more
options to the configure
script. For XEmacs users, this is
fairly easy, because the XEmacs package system has been designed to make
this sort of thing practical: but GNU Emacs users (and XEmacs users for
whom the package system is for some reason misbehaving) may need to do a
little more work.
The main expedient is using the --prefix option to the configure script, and let it point to the personal home directory. In that way, resulting binaries will be installed under the bin subdirectory of your home directory, manual pages under man and so on. It is reasonably easy to maintain a bunch of personal software, since the prefix argument is supported by most configure scripts.
You’ll have to add something like
/home/myself/share/emacs/site-lisp to your load-path
variable, if it isn’t there already.
XEmacs users can achieve the same end by pointing configure
at an
appropriate package directory (normally
--with-packagedir=~/.xemacs/xemacs-packages will serve). The
package directory stands a good chance at being detected automatically
as long as it is in a subtree of the specified prefix.
Now here is another thing to ponder: perhaps you want to make it easy for other users to share parts of your personal Emacs configuration. In general, you can do this by writing ‘~myself/’ anywhere where you specify paths to something installed in your personal subdirectories, not merely ‘~/’, since the latter, when used by other users, will point to non-existent files.
For yourself, it will do to manipulate environment variables in your .profile resp. .login files. But if people will be copying just Elisp files, their copies will not work. While it would in general be preferable if the added components where available from a shell level, too (like when you call the standalone info reader, or try using preview.sty for functionality besides of Emacs previews), it will be a big help already if things work from inside of Emacs.
Here is how to do the various parts:
In GNU Emacs, it should be sufficient if people just do
(load "~myself/share/emacs/site-lisp/auctex.el" nil t t) (load "~myself/share/emacs/site-lisp/preview-latex.el" nil t t)
where the path points to your personal installation. The rest of the package should be found relative from there without further ado.
In XEmacs, you should ask the other users to add symbolic links in the subdirectories lisp, info and etc of their ~/.xemacs/xemacs-packages/ directory. (Alas, there is presently no easy programmatic way to do this, except to have a script do the symlinking for them.)
For making the info files accessible from within Elisp, something like the following might be convenient to add into your or other people’s startup files:
(eval-after-load 'info '(add-to-list 'Info-directory-list "~myself/info"))
In XEmacs, as long as XEmacs can see the package, there should be no
need to do anything at all; the info files should be immediately
visible. However, you might want to set INFOPATH
anyway, for the
sake of standalone readers outside of XEmacs. (The info files in XEmacs
are normally in ~/.xemacs/xemacs-packages/info.)
If you want others to be able to share your installation, you should configure it using ‘--without-texmf-dir’, in which case things should work as well for them as for you.
Next: Installation under MS Windows, Previous: Advice for package providers, Up: Installation [Contents][Index]