Projects STRLCPY neomutt Files
🤬
main
ROOT /
INSTALL.md
156 lines | ISO-8859-1 | 6 KB

Installing NeoMutt

NeoMutt is a command line email client (Mail User Agent). It's fast, powerful and flexible.

The simplest way to obtain NeoMutt is to use your OS's package. See the distro page to see if there's one for you.

Obtaining the Source

The source can be downloaded from our project site on GitHub. It's available as a git repository or a 'tar.gz' archive.

Git

Clone the NeoMutt repository:

git clone https://github.com/neomutt/neomutt

It's recommended to use the latest tagged version. The 'main' branch is used for development and may not be as stable.

Source Archive

The latest release of NeoMutt can be found, here:

All source releases are signed for security. See Signing Releases for details.

Building NeoMutt

To build NeoMutt, you will need, at the very minimum:

  • A C99 compiler such as gcc or clang
  • SysV-compatible curses library: ncurses
  • Some common libraries, such as iconv and regex
  • DocBook XSL stylesheets and DTDs (for building the docs)

NeoMutt's build system uses Autosetup. It depends on Tcl and Jim to run its test scripts. If they aren't available, Autosetup will use a version bundled with NeoMutt.

Configure

Autosetup's configure.autosetup performs two tasks. It allows the user to enable/disable certain features of NeoMutt and it checks that all the build dependencies are present.

For a list of the currently supported options and a brief help text, run: ./configure.autosetup --help

Configure optionPathNotes
--with-ncurses=path Location of ncurses
--gpgmePathGPG Made Easy
--gnutlsPathGnu TLS (SSL)
--gssPathGeneric Security Services
--saslPathSimple Authentication and Security Layer
--sslPathOpenSSL
--fmemopen Optional Feature (Dangerous)
--luaPathOptional Feature
--notmuchPathOptional Feature
--mixmaster Optional Feature
--bdbPathHeader cache backend
--gdbmPathHeader cache backend
--kyotocabinetPathHeader cache backend
--lmdbPathHeader cache backend
--qdbmPathHeader cache backend
--tokyocabinetPathHeader cache backend
--with-lock=CHOICE Select 'fcntl' or 'flock'
--locales-fix Workaround for broken locales
--disable-nlsPathNational Language Support (translations)
--disable-pgpPathPretty Good Privacy
--disable-smimePathSecure/Multipurpose Internet Mail Extensions
--disable-idnPathInternationalised domain names
--with-domain=DOMAIN Default email domain
--with-mailpathPathLocation of spooled mail
--homespoolPathSpooled mail is in user's home dir
--prefixPathTarget directory for build (default: /usr)
--disable-doc Don't build the docs
--full-doc Document disabled features
--quiet Only show the summary

The options marked "Path" have either take a path, or have an extra option for specifying the library path. e.g. ./configure --notmuch --with-notmuch=/usr/local/lib/notmuch

The parameter --prefix is used to specify both the default search path for headers and libraries and the final directory structure of the installed files. These are often the same: if you have your dependencies installed in /usr/include and /usr/lib, you also probably want the NeoMutt executable to end up in /usr/bin and its documentation in /usr/share/doc. This behavior can be tweaked by specifying where 3rd party dependencies are to be found. This is done on a per-dependency basis using the --with-<dep>=path family of options. As an example, a GPGME installation in /opt can be looked up using the arguments --gpgme --with-gpgme=/opt.

The build can be adjusted by setting any of six environment variables:

  • CC - set the compiler
  • CFLAGS - replace all the compiler flags
  • EXTRA_CFLAGS - append flags to the default compiler flags
  • LD - set the linker
  • LDFLAGS - replace all the linker flags
  • EXTRA_LDFLAGS - append flags to the default linker flags

e.g. make EXTRA_CFLAGS=-g

Here are the sample commands to configure and build NeoMutt:

./configure --gnutls --gpgme --gss --sasl --tokyocabinet
make

Install / Uninstall

NeoMutt will be installed into the directory configured with --prefix. This can be modified using the DESTDIR make variable, for example when doing staged builds. DESTDIR is prepended to the install path.

To install NeoMutt to the configured location, run:

make install

To override the root directory, use the DESTDIR make variable, e.g.

make DESTDIR=$HOME/install install'

To uninstall NeoMutt from the configured location, run:

make uninstall

To override the root directory, use the DESTDIR make variable, e.g.

make DESTDIR=$HOME/install uninstall'
Please wait...
Page is in error, reload to recover