Files
himalaya/Cargo.toml
T
Clément DOUIN 07078437a2 refactor: drop HIMALAYA_CONFIG support
Clap env vars are hard to customize across Pimalaya projects, and they can
always be replaced by arg or flag.
2026-06-01 18:54:57 +02:00

113 lines
4.9 KiB
TOML

[package]
name = "himalaya"
description = "CLI to manage emails"
version = "2.0.0-alpha.1"
authors = ["soywod <pimalaya.org@posteo.net>"]
rust-version = "1.87"
edition = "2024"
license = "AGPL-3.0-only"
categories = ["command-line-utilities", "email"]
keywords = ["cli", "email", "imap", "maildir", "smtp"]
homepage = "https://pimalaya.org"
documentation = "https://github.com/pimalaya/himalaya"
repository = "https://github.com/pimalaya/himalaya"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[features]
default = ["rustls-ring", "imap", "smtp", "jmap", "m2dir"]
imap = ["dep:io-imap", "dep:mail-parser", "dep:rfc2047-decoder", "io-email/imap", "io-imap/client"]
jmap = ["dep:base64", "dep:io-jmap", "dep:mail-parser", "dep:serde_json", "io-email/jmap", "io-jmap/client"]
smtp = ["dep:io-smtp", "dep:mail-parser", "io-email/smtp"]
maildir = ["dep:convert_case", "dep:io-maildir", "dep:mail-parser", "dep:mime_guess", "io-email/maildir", "io-maildir/client"]
m2dir = ["dep:convert_case", "dep:io-m2dir", "dep:mail-parser", "dep:mime_guess", "io-email/m2dir", "io-m2dir/client"]
native-tls = ["pimalaya-stream/native-tls", "pimconf/native-tls", "io-email/native-tls", "io-imap?/native-tls", "io-jmap?/native-tls", "io-smtp?/native-tls"]
rustls-aws = ["pimalaya-stream/rustls-aws", "pimconf/rustls-aws", "io-email/rustls-aws", "io-imap?/rustls-aws", "io-jmap?/rustls-aws", "io-smtp?/rustls-aws"]
rustls-ring = ["pimalaya-stream/rustls-ring", "pimconf/rustls-ring", "io-email/rustls-ring", "io-imap?/rustls-ring", "io-jmap?/rustls-ring", "io-smtp?/rustls-ring"]
vendored = ["pimalaya-stream/vendored"]
[profile.release]
lto = "fat"
codegen-units = 1
strip = "symbols"
panic = "abort"
[build-dependencies]
pimalaya-cli = { version = "0.0.1", default-features = false, features = ["build"] }
[dependencies]
anyhow = "1"
base64 = { version = "0.22", optional = true }
chrono = { version = "0.4", default-features = false, features = ["clock"] }
clap = { version = "4.4", features = ["derive", "wrap_help"] }
comfy-table = "7"
convert_case = { version = "0.11", optional = true }
crossterm = { version = "0.29", default-features = false, features = ["serde"] }
dirs = "6"
humansize = "2"
ariadne = "0.6"
io-email = { version = "0.0.1", default-features = false, features = ["serde", "client", "search"] }
io-imap = { version = "0.0.1", default-features = false, optional = true }
io-jmap = { version = "0.0.1", default-features = false, optional = true }
io-m2dir = { version = "0.0.1", default-features = false, optional = true }
io-maildir = { version = "0.0.1", default-features = false, optional = true }
io-smtp = { version = "0.0.1", default-features = false, optional = true }
log = "0.4"
mail-builder = "0.4"
mail-parser = { version = "0.11", features = ["serde"], optional = true }
mime_guess = { version = "2", optional = true }
open = "5"
pimalaya-cli = { version = "0.0.1", default-features = false, features = ["terminal", "table", "prompt", "wizard", "imap", "smtp", "jmap", "spinner"] }
pimalaya-config = { version = "0.0.1", default-features = false, features = ["toml", "secret"] }
pimalaya-stream = { version = "0.0.1", default-features = false, features = ["std"] }
pimconf = { version = "0.1.0", default-features = false, features = ["pacc", "autoconfig", "rfc6186", "client"] }
rfc2047-decoder = { version = "1", optional = true }
secrecy = "0.10"
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", optional = true }
shellexpand = "3.1"
toml = "0.8"
percent-encoding = "2"
url = { version = "2.2", features = ["serde"] }
[target.'cfg(windows)'.dependencies]
uds_windows = "1"
[dev-dependencies]
assert_cmd = "2"
io-jmap = { version = "0.0.1", default-features = false }
serde = "1"
serde_json = "1"
tempfile = "3"
# [patch.crates-io]
# domain = { git = "https://github.com/soywod/domain", branch = "new-srv" }
# pimconf.path = "../pimconf"
# io-email.path = "../io-email"
# io-http.path = "../io-http"
# io-imap.path = "../io-imap"
# io-jmap.path = "../io-jmap"
# io-m2dir.path = "../io-m2dir"
# io-maildir.path = "../io-maildir"
# io-smtp.path = "../io-smtp"
# pimalaya-cli.path = "../cli"
# pimalaya-config.path = "../config"
# pimalaya-stream.path = "../stream"
[patch.crates-io]
domain = { git = "https://github.com/soywod/domain", branch = "new-srv" }
imap-codec.git = "https://github.com/soywod/imap-codec"
pimconf.git = "https://github.com/pimalaya/pimconf"
io-email.git = "https://github.com/pimalaya/io-email"
io-http.git = "https://github.com/pimalaya/io-http"
io-imap.git = "https://github.com/pimalaya/io-imap"
io-jmap.git = "https://github.com/pimalaya/io-jmap"
io-m2dir.git = "https://github.com/pimalaya/io-m2dir"
io-maildir.git = "https://github.com/pimalaya/io-maildir"
io-smtp.git = "https://github.com/pimalaya/io-smtp"
pimalaya-cli.git = "https://github.com/pimalaya/cli"
pimalaya-config.git = "https://github.com/pimalaya/config"
pimalaya-stream.git = "https://github.com/pimalaya/stream"