Source

mailcrypt / INSTALL

System Requirements
===================

Mailcrypt is designed for use with FSF Emacs 19.29 (and higher) or
XEmacs 19.13 (and higher).  Mailcrypt absolutely requires at least FSF
Emacs 19.28 or XEmacs 19.12.  With some effort, earlier versions might
be made to work, but this is not supported.

Mailcrypt is also designed for use with PGP version 2.6 or higher,
with the exception of 2.6ui (which is really just 2.3a in disguise).
It is trivial to make Mailcrypt work with earlier versions, however;
see below.

Basic Installation
==================

The simplest way to build and install Mailcrypt is:

  1. `cd' to the Mailcrypt source directory and type `./configure' to
     configure Mailcrypt for your system.

  2. Look at the program names in mc-pgp.el and mc-pgp5.el to make
     sure that they are correct.  On my system, for example, I call
     PGP 2.6.3 as "pgp2".  If you call PGP 2.6.x as "pgp", then you
     are probably OK.

  3. Type `make' to build the byte-compiled Lisp files.

  4. Type `make install' to install the Mailcrypt Lisp files and Info
     manual.

Load Path
=========

If you use VM, RMAIL, MH-E, or GNUS and the respective package is not
in your default load-path, Mailcrypt may fail to byte compile
correctly.  (Emacs does not load your `.emacs' file when run in batch
mode.)  If this applies to you, edit Mailcrypt's `load-path.hack' file
to add the appropriate directory to the load-path during byte
compilation.

In addition, PGP 5.0 support requires the file timer.el, which should
be included in FSF Emacs, but is NOT included with Xemacs.  This file
is included with Mailcrypt, and will be installed if the timer library
isn't found in the load path.  If you already have timer.el, but it is
in an unusual place, edit the file `load-path.hack' file accordingly.

Installation Names
==================

By default, `make install' will install the package's files in
`/usr/local/info' and `/usr/local/share/emacs/site-lisp'.  You can
specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PATH'.

If your installed copy of Emacs is named something other than `emacs'
or `xemacs', you will need to tell `make' where to find it so that it
can correctly byte-compile the Mailcrypt sources.

For example, to force the use of XEmacs you might do this:

	./configure
	make EMACS=xemacs
	make install

or this (for users of the Bourne shell and derivatives):

	EMACS=xemacs ./configure
	make
	make install

or this (for users of *ugh* the C shell and derivatives):

	setenv EMACS xemacs
	./configure
	make
	make install

Also, the `--prefix=PATH' option to `configure' may not be general
enough to set the paths you want.  If not, you can pass variables to
the `make' command to control the installation.  For a complete list
of tweakable variables, look in the makefile.

For example, to put the Lisp files in `$HOME/elisp' and the Info file
in `$HOME/info', you would type:

	./configure
	make
	make lispdir=$HOME/elisp infodir=$HOME/info install

If you want to supply special flags to emacs for compiling the
elisp files, you would type:

	./configure
	make EMACSFLAGS="-q -no-site-file"
	make install

FSF Emacs 19.28
===============

Mailcrypt's installation procedure assumes the directory structure
used by FSF Emacs 19.29 (e.g., `/usr/local/share/emacs/site-lisp').
If you are using 19.28, you will need to use an installation command
like the following:

	make datadir=/usr/local/lib install

This is the *only* special action required to install Mailcrypt for
FSF Emacs 19.28.

FSF Emacs 20.3 or higher
========================

To use Mailcrypt with rmail, put the following in your .emacs:

     (add-hook 'rmail-show-message-hook 'mc-install-read-mode)

Don't use the following, which worked for older emacsen:

     (add-hook 'rmail-mode-hook 'mc-install-read-mode)


XEmacs 19.12
============

Mailcrypt requires the `easymenu' package, which is bundled with FSF
Emacs 19.28 (and higher) and with XEmacs 19.13 (and higher).  If you
are using XEmacs 19.12, you will need to obtain a copy of this package
and install it somewhere in your load-path.  The easiest way is to go
to

	ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/

and obtain the latest version of `auc-menu.el'.  Install it in your
load path under the name `easymenu.el'.  (Don't ask why.)

Obsolete PGP versions
=====================

Versions of PGP prior to 2.6 (including version 2.6ui, which is just a
hacked 2.3a) do not support the "+comment" option, which Mailcrypt
uses for gratuitous advertising.  To use Mailcrypt with such a version
(or just to suppress the message), add the following line to your
`.emacs' file:

	(setq mc-pgp-comment nil)

PGP 5.0 Support
===============

Starting with Mailcrypt 3.5b1, Mailcrypt can support both older (2.6.*)
and newer (5.0) versions of PGP.  Support for PGP 5.0 is limited, and
excludes key snarfing, among other things.  All of the same keymaps and
functions are used as in Mailcrypt 3.4; nothing should have changed
for the end user.  (Note: *please* send me suggestions and patches
to <mailto:lbudney@pobox.com> if you have improvements or fixes you
would make!)

To use Mailcrypt 3.5b1 and higher, you must include two lines like the
following in your .emacs file:

	(load-library "mailcrypt")
	(mc-setversion "5.0") ;; Alternately, "2.6" or "gpg"

The function mc-setversion is interactive, and can be used at any time
to toggle between PGP versions.  A nice future enhancement would be to
add this option to the PGP menu.

GPG (Gnu Privacy Guard) Support
===============================

Starting with Mailcrypt 3.5b7, there is alpha support for gnupg. Almost
everything available to pgp2 is available, with the notable exception
of automatic key fetching. There are some bugs and limitations in the
current gpg support. See README.gpg for details.

To use GPG by default, add this to your .emacs file:

	(load-library "mailcrypt")
	(mc-setversion "gpg")

Most mailcrypt commands will let you set the encryption scheme on the
fly: use a double prefix argument. For example, to sign a message,
use C-u C-u C-c / s, and you will be asked for a scheme and a user id.

The GPG home page is at
<http://www.d.shuttle.de/isil/crypt/gnupg.html>. The source is available
at <ftp://ftp.guug.de/pub/gcrypt/>.

Suggestions/Bug Reports
=======================

Send all suggestions for fixes, etc to <mailto:lbudney@pobox.com>.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.