mu/README.org

95 lines
4.5 KiB
Org Mode
Raw Normal View History

2022-07-02 11:22:48 +02:00
#+TITLE:mu
2020-06-20 07:28:41 +02:00
[[https://github.com/djcb/mu/blob/master/COPYING][https://img.shields.io/github/license/djcb/mu?logo=gnu&.svg]]
[[https://en.cppreference.com][https://img.shields.io/badge/Made%20with-C/CPP-1f425f?logo=c&.svg]]
[[https://img.shields.io/github/v/release/djcb/mu][https://img.shields.io/github/v/release/djcb/mu.svg]]
[[https://github.com/djcb/mu/graphs/contributors][https://img.shields.io/github/contributors/djcb/mu.svg]]
[[https://github.com/djcb/mu/issues][https://img.shields.io/github/issues/djcb/mu.svg]]
[[https://github.com/djcb/mu/issues?q=is%3Aissue+is%3Aopen+label%3Arfe][https://img.shields.io/github/issues/djcb/mu/rfe?color=008b8b.svg]]
[[https://github.com/djcb/mu/pull/new][https://img.shields.io/badge/PRs-welcome-brightgreen.svg]]\\
2020-06-20 11:19:25 +02:00
[[https://melpa.org/#/?q=mu4e&sort=version&asc=false][https://img.shields.io/badge/Emacs-25.3-922793?logo=gnu-emacs&logoColor=b39ddb&.svg]]
2020-06-20 07:58:30 +02:00
[[https://www.djcbsoftware.nl/code/mu/mu4e/Installation.html#Dependencies-for-Debian_002fUbuntu][https://img.shields.io/badge/Platform-Linux-2e8b57?logo=linux&.svg]]
[[https://www.djcbsoftware.nl/code/mu/mu4e/Installation.html#Building-from-a-release-tarball-1][https://img.shields.io/badge/Platform-FreeBSD-8b3a3a?logo=freebsd&logoColor=c32136&.svg]]
2020-06-20 07:28:41 +02:00
[[https://formulae.brew.sh/formula/mu#default][https://img.shields.io/badge/Platform-macOS-101010?logo=apple&logoColor=ffffff&.svg]]
2022-10-06 10:09:15 +02:00
[[https://github.com/msys2-unofficial/MSYS2-packages/blob/master/mu/README.org][https://img.shields.io/badge/Platform-Windows-00bfff?logo=windows&logoColor=00bfff&.svg]]
2020-06-20 07:30:19 +02:00
2020-05-25 20:09:38 +02:00
Welcome to ~mu~!
2022-05-23 22:56:31 +02:00
*Note*: you are looking at the *development* branch, which is where new code is
being developed and tested, and which may occasionally break.
2020-05-25 20:09:38 +02:00
2022-06-30 20:30:50 +02:00
Distribution and non-adventurous users are instead recommended to use the [[https://github.com/djcb/mu/tree/release/1.8][1.8
Release Branch]] or to pick up one of the [[https://github.com/djcb/mu/releases][1.8 Releases]].
2020-05-25 20:09:38 +02:00
2022-05-21 17:04:05 +02:00
Given the enormous amounts of e-mail many people gather and the importance of
e-mail message in our work-flows, it's essential to quickly deal with all that
mail - in particular, to instantly find that one important e-mail you need right
now, and quickly file away message for later use.
2020-05-25 20:09:38 +02:00
2022-05-21 17:04:05 +02:00
~mu~ is a tool for dealing with e-mail messages stored in the Maildir-format. ~mu~'s
purpose in life is to help you to quickly find the messages you need; in
addition, it allows you to view messages, extract attachments, create new
2022-07-02 11:22:48 +02:00
maildirs, and so on. =mu= is fully documented.
2020-05-25 20:09:38 +02:00
2022-05-21 17:04:05 +02:00
After indexing your messages into a [[http://www.xapian.org][Xapian]]-database, you can search them using a
custom query language. You can use various message fields or words in the body
text to find the right messages.
2020-05-25 20:09:38 +02:00
Built on top of ~mu~ are some extensions (included in this package):
2022-07-02 11:22:48 +02:00
- ~mu4e~: a full-featured e-mail client that runs inside emacs
2020-05-25 20:09:38 +02:00
2022-07-02 11:22:48 +02:00
- ~mu-guile~: bindings for the Guile/Scheme programming language (version 3.0 and
2022-05-21 17:04:05 +02:00
later)
2020-05-25 20:09:38 +02:00
2022-07-02 11:22:48 +02:00
~mu~ is written in C and C++; ~mu4e~ is written in ~elisp~ and ~mu-guile~ in a mix of C++ and
Scheme.
2020-05-25 20:09:38 +02:00
2022-05-21 17:04:05 +02:00
Note, ~mu~ is available in Linux distributions (e.g. Debian/Ubuntu and Fedora)
under the name ~maildir-utils~; apparently because they don't like short names.
All of the code is distributed under the terms of the [[https://www.gnu.org/licenses/gpl-3.0.en.html][GNU General Public License
version 3]] (or higher).
2022-06-30 20:30:50 +02:00
* Installation
2022-07-02 11:22:48 +02:00
Note: building from source is an /advanced/ subject; esp. if something goes
2022-06-30 20:30:50 +02:00
wrong. The below simple examples are a start, but all tools involved have many
options; there are differences between systems, versions etc. So if this is all
a bit daunting we recommend to wait for someone else to build it for you, such
2022-07-02 11:22:48 +02:00
as a Linux distribution. Many have packages available.
2022-06-30 20:30:50 +02:00
2022-07-02 11:22:48 +02:00
** Requirements
2022-06-30 20:30:50 +02:00
2022-07-02 11:22:48 +02:00
To be able to build ~mu~, ensure you have:
2022-06-30 20:30:50 +02:00
- a C++17 compiler (~gcc~ or ~clang~ are known to work)
2022-07-02 11:22:48 +02:00
- development packages for /Xapian/ and /GMime/ and /GLib/ (see ~meson.build~ for the
2022-06-30 20:30:50 +02:00
versions)
- basic tools such as ~make~, ~sed~, ~grep~
- ~meson~
2022-07-02 11:22:48 +02:00
For ~mu4e~, you also need ~emacs~.
** Building
2022-06-30 20:30:50 +02:00
#+begin_example
$ git clone git://github.com/djcb/mu.git
$ cd mu
#+end_example
Now, you have a choice. ~mu~ uses ~meson~ for building, but includes a good-old
~Makefile~ with some useful targets, which should work for typical cases.
#+begin_example
$ ./autogen.sh && make
$ sudo make install
#+end_example
Alternatively, for more control, you can run ~meson~ directly:
#+begin_example
$ meson build && ninja -C build
$ ninja -C build install
#+end_example
2022-07-02 11:22:48 +02:00
This allows for passing various ~meson~ options, such as ~--prefix~. Consult the
2022-06-30 20:30:50 +02:00
~meson~ documentation for details.