Add Cross.toml for aarch64-unknown-linux-gnu builds

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
pull/299/head
Manos Pitsidianakis 2023-09-05 15:33:28 +03:00
parent 6d5ebb5b04
commit 6476985ce6
Signed by: Manos Pitsidianakis
GPG Key ID: 7729C7707F7E09D0
4 changed files with 93 additions and 16 deletions

49
Cargo.lock generated
View File

@ -440,6 +440,27 @@ dependencies = [
"cfg-if 1.0.0",
]
[[package]]
name = "csv"
version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "626ae34994d3d8d668f4269922248239db4ae42d538b14c398b74a52208e8086"
dependencies = [
"csv-core",
"itoa",
"ryu",
"serde",
]
[[package]]
name = "csv-core"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
dependencies = [
"memchr",
]
[[package]]
name = "curl"
version = "0.4.44"
@ -1145,6 +1166,7 @@ version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326"
dependencies = [
"cc",
"pkg-config",
"vcpkg",
]
@ -1574,6 +1596,15 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
[[package]]
name = "openssl-src"
version = "111.27.0+1.1.1v"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06e8f197c82d7511c5b014030c9b1efeda40d7d5f99d23b4ceed3524a5e63f02"
dependencies = [
"cc",
]
[[package]]
name = "openssl-sys"
version = "0.9.92"
@ -1582,6 +1613,7 @@ checksum = "db7e971c2c2bba161b2d2fdf37080177eff520b3bc044787c7f1f5f9e78d869b"
dependencies = [
"cc",
"libc",
"openssl-src",
"pkg-config",
"vcpkg",
]
@ -1815,11 +1847,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "549b9d036d571d42e6e85d1c1425e2ac83491075078ca9a15be021c56b1641f2"
dependencies = [
"bitflags 2.4.0",
"chrono",
"csv",
"fallible-iterator",
"fallible-streaming-iterator",
"hashlink",
"libsqlite3-sys",
"serde_json",
"smallvec",
"time",
"url",
"uuid",
]
[[package]]
@ -2228,8 +2266,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48"
dependencies = [
"deranged",
"itoa",
"serde",
"time-core",
"time-macros",
]
[[package]]
@ -2238,6 +2278,15 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
[[package]]
name = "time-macros"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572"
dependencies = [
"time-core",
]
[[package]]
name = "tinyvec"
version = "1.6.0"

21
Cross.toml 100644
View File

@ -0,0 +1,21 @@
[target.aarch64-unknown-linux-gnu]
# Build with -static features.
pre-build = [
"export DEBIAN_FRONTEND=noninteractive ",
"dpkg --add-architecture $CROSS_DEB_ARCH",
"apt-get update -y",
"""
apt-get install --assume-yes \
pkg-config \
libdbus-1-dev \
libdbus-1-dev:$CROSS_DEB_ARCH \
librust-libdbus-sys-dev \
librust-libdbus-sys-dev:$CROSS_DEB_ARCH \
librust-openssl-sys-dev \
librust-openssl-sys-dev:$CROSS_DEB_ARCH \
libsqlite3-dev:$CROSS_DEB_ARCH \
libssl-dev \
libssl-dev:$CROSS_DEB_ARCH \
sqlite3:$CROSS_DEB_ARCH
""",
]

View File

@ -33,8 +33,8 @@ bitflags = { version = "2.4", features = ["serde"] }
crossbeam = { version = "^0.8" }
flate2 = { version = "1", optional = true }
futures = "0.3.5"
indexmap = { version = "^1.6", features = ["serde-1", ] }
libc = { version = "0.2.125", default-features = false, features = ["extra_traits",] }
indexmap = { version = "^1.6", features = ["serde-1"] }
libc = { version = "0.2.125", default-features = false, features = ["extra_traits"] }
linkify = { version = "^0.8", default-features = false }
melib = { path = "../melib", version = "0.8.0" }
nix = { version = "^0.24", default-features = false }
@ -47,15 +47,15 @@ serde_derive = "1.0.71"
serde_json = "1.0"
signal-hook = { version = "^0.3", default-features = false }
signal-hook-registry = { version = "1.2.0", default-features = false }
smallvec = { version = "^1.5.0", features = ["serde", ] }
smallvec = { version = "^1.5.0", features = ["serde"] }
structopt = { version = "0.3.14", default-features = false }
svg_crate = { version = "^0.13", optional = true, package = "svg" }
termion = { version = "1.5.1", default-features = false }
toml = { version = "0.5.6", default-features = false, features = ["preserve_order", ] }
toml = { version = "0.5.6", default-features = false, features = ["preserve_order"] }
xdg = "2.1.0"
[target.'cfg(target_os="linux")'.dependencies]
notify-rust = { version = "^4", default-features = false, features = ["dbus", ], optional = true }
notify-rust = { version = "^4", default-features = false, features = ["dbus"], optional = true }
[build-dependencies]
flate2 = { version = "1", optional = true }
@ -71,18 +71,23 @@ tempfile = "3.3"
[features]
default = ["sqlite3", "notmuch", "regexp", "smtp", "dbus-notifications", "gpgme", "cli-docs", "jmap", "text-processing"]
notmuch = ["melib/notmuch", ]
jmap = ["melib/jmap",]
notmuch = ["melib/notmuch"]
jmap = ["melib/jmap"]
sqlite3 = ["melib/sqlite3"]
smtp = ["melib/smtp"]
smtp-trace = ["smtp", "melib/smtp-trace"]
regexp = ["pcre2"]
dbus-notifications = ["notify-rust",]
dbus-notifications = ["notify-rust"]
cli-docs = ["flate2"]
svgscreenshot = ["svg_crate"]
text-processing = ["melib/unicode-algorithms"]
gpgme = ["melib/gpgme"]
# Static / vendoring features.
tls-static = ["melib/tls-static"]
http-static = ["melib/http-static"]
sqlite3-static = ["melib/sqlite3-static"]
static = ["tls-static", "http-static", "sqlite3-static"]
# Print tracing logs as meli runs in stderr
# enable for debug tracing logs: build with --features=debug-tracing
debug-tracing = ["melib/debug-tracing", ]
# enable for debug tracing logs: build with --features=debug-tracing and export MELI_DEBUG_STDERR
debug-tracing = ["melib/debug-tracing"]

View File

@ -30,9 +30,9 @@ futures = "0.3.5"
imap-codec = { version = "1.0.0", features = ["ext_condstore_qresync"], optional = true }
indexmap = { version = "^1.5", default-features = false, features = ["serde-1", ] }
indexmap = { version = "^1.5", default-features = false, features = ["serde-1"] }
isahc = { version = "^1.7.2", optional = true, default-features = false, features = ["http2", "json", "text-decoding"] }
libc = { version = "0.2.125", features = ["extra_traits",] }
libc = { version = "0.2.125", features = ["extra_traits"] }
libloading = "^0.7"
log = { version = "0.4", features = ["std"] }
@ -43,11 +43,11 @@ notify = { version = "4.0.15", optional = true }
polling = "2.8"
regex = { version = "1" }
rusqlite = { version = "^0.29", default-features = false, optional = true }
serde = { version = "1.0", features = ["rc", ] }
serde = { version = "1.0", features = ["rc"] }
serde_derive = "1.0"
serde_json = { version = "1.0", features = ["raw_value",] }
serde_json = { version = "1.0", features = ["raw_value"] }
serde_path_to_error = { version = "0.1" }
smallvec = { version = "^1.5.0", features = ["serde", ] }
smallvec = { version = "^1.5.0", features = ["serde"] }
smol = "1.0.0"
socket2 = { version = "0.4", features = [] }
@ -80,8 +80,10 @@ mbox = ["notify"]
notmuch = []
smtp = ["tls", "base64"]
smtp-trace = ["smtp"]
sqlite3 = ["rusqlite", ]
sqlite3 = ["rusqlite"]
sqlite3-static = ["sqlite3", "rusqlite/bundled-full"]
tls = ["native-tls"]
tls-static = ["tls", "native-tls/vendored"]
text-processing = []
unicode-algorithms = ["text-processing", "unicode-segmentation"]
unicode-algorithms-cached = ["text-processing", "unicode-segmentation"]