unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
blob 3f11c2b73e21f270c4520f6661aa8883d6042f89 3121 bytes (raw)
name: INSTALL 	 # note: path name is non-authoritative(*)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
 
Build and install instructions for Notmuch.

Compilation commands
--------------------
The process for compiling and installing Notmuch is the very standard
sequence of:

	./configure
	make
	sudo make install

In fact, if you don't plan to pass any arguments to the configure
script, then you can skip that step and just start with "make", (which
will call configure for you). See this command:

	./configure --help

for detailed documentation of the things you can control at the
configure stage.

Dependencies
------------
Notmuch depends on four libraries: Xapian, GMime 3.0,
Talloc, and zlib which are each described below:

	Xapian
	------
	Xapian is the search-engine library underlying Notmuch.

	It provides all the real machinery of indexing and searching,
	(including the very nice parsing of the query string).

	Xapian is available from https://xapian.org

	Note: Notmuch will work best with Xapian 1.0.18 (or later) or
	Xapian 1.1.4 (or later). Previous versions of Xapian (whether
	1.0 or 1.1) had a performance bug that made notmuch very slow
	when modifying tags. This would cause distracting pauses when
	reading mail while notmuch would wait for Xapian when removing
	the "inbox" and "unread" tags from messages in a thread.

	GMime
	-----
	GMime provides decoding of MIME email messages for Notmuch.

	Without GMime, Notmuch would not be able to extract and index
	the actual text from email message encoded as BASE64, etc.

	GMime is available from https://github.com/jstedfast/gmime

	Talloc
	------
	Talloc is a memory-pool allocator used by Notmuch.

	Talloc is an extremely lightweight and easy-to-use tool for
	allocating memory in a hierarchical fashion and then freeing
	it with a single call of the top-level handle. Using it has
	made development of Notmuch much easier and much less prone to
	memory leaks.

	Talloc is available from https://talloc.samba.org/

	zlib
	----

	zlib is an extremely popular compression library. It is used
	by Xapian, so if you installed that you will already have
	zlib. You may need to install the zlib headers separately.

	Notmuch needs the transparent write feature of zlib introduced
	in version 1.2.5.2 (Dec. 2011).

	zlib is available from https://zlib.net

Building Documentation
----------------------

To build the documentation for notmuch you need at least version 1.0
of sphinx (Jul. 2010).

Sphinx is available from www.sphinx-doc.org.

To install the documentation as "info" pages, you will need the
additional tools makeinfo and install-info.

Installing Dependencies from Packages
-------------------------------------

On a modern, package-based operating system you can install all of the
dependencies with a single simple command line. For example:

  For Debian and similar:

        sudo apt-get install libxapian-dev libgmime-3.0-dev libtalloc-dev zlib1g-dev python3-sphinx texinfo install-info

  For Fedora and similar:

	sudo yum install xapian-core-devel gmime30-devel libtalloc-devel zlib-devel python3-sphinx texinfo info

On other systems, a similar command can be used, but the details of
the package names may be different.

	


debug log:

solving 3f11c2b7 ...
found 3f11c2b7 in https://yhetil.org/notmuch/20200626111100.239881-1-david@tethera.net/
found f1236e71 in https://yhetil.org/notmuch.git/
preparing index
index prepared:
100644 f1236e713e11085b626f79c5b22c89719cdd6b6d	INSTALL

applying [1/1] https://yhetil.org/notmuch/20200626111100.239881-1-david@tethera.net/
diff --git a/INSTALL b/INSTALL
index f1236e71..3f11c2b7 100644

Checking patch INSTALL...
Applied patch INSTALL cleanly.

index at:
100644 3f11c2b73e21f270c4520f6661aa8883d6042f89	INSTALL

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).