🐝 I really like where this mua is(was?) headed, but it seems as though there has not been much activity recently.
 
 
 
 
 
Go to file
Manos Pitsidianakis 6fcc792b83
Remove src/python
In preparation for publishing meli as a separate crate on crates.io.

src/python was never used for anything, so remove it.
2020-02-04 17:29:50 +02:00
benches melib: remove BackendOpGenerator 2019-07-18 20:14:14 +03:00
debian Makefile: add debian/ and deb-dist target to build *.deb package 2020-02-04 02:55:45 +02:00
debug_printer Fix warnings, lints, and 2018 errors 2019-06-18 21:14:14 +03:00
melib melib/mbox: replace unimplemented!() with Error 2020-01-31 03:54:58 +02:00
scripts Add pre-push git hook 2019-12-18 12:38:26 +02:00
src Remove src/python 2020-02-04 17:29:50 +02:00
testing Replace StackVec with smallvec::SmallVec 2020-01-20 15:58:59 +02:00
tests Rename `mime_apps` dependency to `xdg-utils` 2020-02-04 02:58:24 +02:00
text_processing Add missing copyright preambles 2020-01-31 03:54:58 +02:00
ui Don't run test_escape_str without $DISPLAY set 2020-02-04 03:49:43 +02:00
.gdbinit small fixes 2019-11-21 15:44:18 +02:00
.gitignore Plugins WIP #2 2019-12-27 17:57:48 +02:00
COPYING mailbox: add threads 2019-06-10 19:11:47 +03:00
Cargo.lock Rename `mime_apps` dependency to `xdg-utils` 2020-02-04 02:58:24 +02:00
Cargo.toml Update nix to 0.16.1 2020-01-21 12:02:21 +02:00
Makefile Makefile: make Makefile portable 2020-02-04 02:58:21 +02:00
README Add optional 'jmap' feature in binary Cargo.toml. 2019-12-13 00:39:56 +02:00
meli-themes.5 meli-themes.5: split tables into pages 2020-01-29 21:25:00 +02:00
meli.1 Correct mdoc lint warnings 2020-01-28 18:43:14 +02:00
meli.conf.5 ui/conf: replace include macro with m4 include macro 2020-01-29 05:54:13 +02:00
rustfmt.toml Run rustfmt 2019-06-10 19:40:39 +03:00
sample-config ui/conf: replace include macro with m4 include macro 2020-01-29 05:54:13 +02:00

README

    __
 __/  \__
/  \__/  \__                       .
\__/  \__/  \    , _ , _     ___   │   '
/  \__   \__/    │' `│  `┒ .'   `  │   │
\__/  \__/  \    │   │   │ |────'  │   │
   \__/  \__/    │       / `.___, /\__ /
      \__/
                                    ,-.
                                    \_/
        terminal mail user agent   {|||)<
                                    / \
                                    `-'
DOCUMENTATION
=============

After installing meli, see meli(1) and meli.conf(5) for documentation.

BUILDING
========

meli requires rust 1.39 and rust's package manager, Cargo. Information on how
to get it on your system can be found here:

https://doc.rust-lang.org/cargo/getting-started/installation.html

With Cargo available, the project can be built with

# make

The resulting binary will then be found under target/release/meli

Run:

# make install

to install the binary and man pages. This requires root, so I suggest you override the default paths and install it in your $HOME:

# make PREFIX=$HOME/.local install

See meli(1) and meli.conf(5) for documentation.

You can build and run meli with one command:

# cargo run --release

While the project is in early development, meli will only be developed for the
linux kernel and respected linux distributions. Support for more UNIX-like OSes
is on the roadmap.

BUILDING IN DEBIAN
==================

Building with Debian's packaged cargo might require the installation of these
two packages: librust-openssl-sys-dev and librust-libdbus-sys-dev

BUILDING WITH NOTMUCH
=====================

To use the optional notmuch backend feature, you must have libnotmuch installed in your system. In Debian-like systems, install the "libnotmuch" package.

To build with notmuch support, prepend the environment variable "MELI_FEATURES='notmuch'" to your make invocation:

# MELI_FEATURES="notmuch" make

or if building directly with cargo, use the flag '--features="notmuch"'.

BUILDING WITH JMAP
=====================

To build with JMAP support, prepend the environment variable "MELI_FEATURES='jmap'" to your make invocation:

# MELI_FEATURES="jmap" make

or if building directly with cargo, use the flag '--features="jmap"'.

DEVELOPMENT
===========

Development builds can be built and/or run with

# cargo build
# cargo run

There is a debug/tracing log feature that can be enabled by using the flag
`--feature debug-tracing` after uncommenting the features in `Cargo.toml`. The logs
are printed in stderr, thus you can run meli with a redirection (i.e `2> log`)

Code style follows the default rustfmt profile.

CONFIG
======

meli by default looks for a configuration file in this location:
# $XDG_CONFIG_HOME/meli/config

You can run meli with arbitrary configuration files by setting the MELI_CONFIG
environment variable to their locations, ie:

# MELI_CONFIG=./test_config cargo run

TESTING
=======

How to run specific tests:

# cargo test -p {melib, ui, meli} (-- --nocapture) (--test test_name)

PROFILING
=========

# perf record -g target/debug/bin
# perf script | stackcollapse-perf | rust-unmangle | flamegraph > perf.svg