Files
continuwuity/src/main/Cargo.toml
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

246 lines
6.0 KiB
TOML
Raw Normal View History

2024-05-09 15:59:08 -07:00
[package]
2024-12-14 21:58:01 -05:00
name = "conduwuit"
default-run = "conduwuit"
2024-05-09 15:59:08 -07:00
authors.workspace = true
2024-06-01 10:19:26 +00:00
description.workspace = true
edition.workspace = true
2024-05-09 15:59:08 -07:00
homepage.workspace = true
2024-06-01 10:19:26 +00:00
license.workspace = true
2024-05-09 15:59:08 -07:00
readme.workspace = true
2024-06-01 10:19:26 +00:00
repository.workspace = true
version.workspace = true
metadata.crane.workspace = true
2024-05-09 15:59:08 -07:00
2025-05-24 00:28:09 +01:00
[lib]
path = "mod.rs"
crate-type = [
"rlib",
# "dylib",
]
2024-05-09 15:59:08 -07:00
[package.metadata.deb]
name = "continuwuity"
2025-12-31 15:04:08 -05:00
maintainer = "Continuwuity Team and contributors <team@continuwuity.org>"
license-file = ["../../LICENSE", "3"]
2024-05-09 15:59:08 -07:00
depends = "$auto, ca-certificates"
breaks = ["conduwuit (<<0.5.0)"]
replaces = ["conduwuit (<<0.5.0)"]
2024-05-09 15:59:08 -07:00
extended-description = """\
2025-12-31 15:04:08 -05:00
A Matrix homeserver written in Rust, the official continuation of the conduwuit homeserver."""
2024-05-09 15:59:08 -07:00
section = "net"
priority = "optional"
conf-files = ["/etc/conduwuit/conduwuit.toml"]
maintainer-scripts = "../../pkg/debian/"
systemd-units = { unit-name = "conduwuit", start = false, unit-scripts = "../../pkg/" }
2024-05-09 15:59:08 -07:00
assets = [
["../../pkg/debian/README.md", "usr/share/doc/conduwuit/README.Debian", "644"],
["../../README.md", "usr/share/doc/conduwuit/", "644"],
2025-09-02 10:37:25 -04:00
["../../target/release/conduwuit", "usr/bin/conduwuit", "755"],
["../../conduwuit-example.toml", "etc/conduwuit/conduwuit.toml", "640"],
2024-05-09 15:59:08 -07:00
]
[features]
default = [
2025-07-24 21:51:52 +01:00
"standard",
"release_max_log_level",
"bindgen-runtime", # replace with bindgen-static on alpine
]
standard = [
2025-04-24 22:49:47 +01:00
"blurhashing",
2024-06-01 12:10:25 +00:00
"brotli_compression",
"element_hacks",
"gzip_compression",
"io_uring",
"jemalloc",
2025-01-18 01:30:41 +00:00
"jemalloc_conf",
"journald",
"ldap",
"media_thumbnail",
2024-06-01 12:10:25 +00:00
"systemd",
"url_preview",
2025-11-10 01:33:50 +00:00
"zstd_compression",
"sentry_telemetry",
2025-12-31 00:03:41 -05:00
"otlp_telemetry",
"console",
2025-07-24 21:51:52 +01:00
]
full = [
"standard",
# "hardened_malloc", # Conflicts with jemalloc
2025-07-24 21:51:52 +01:00
"jemalloc_prof",
"perf_measurements",
2025-12-31 00:03:41 -05:00
"tokio_console",
2024-05-09 15:59:08 -07:00
]
2025-02-04 02:24:50 +00:00
blurhashing = [
"conduwuit-service/blurhashing",
]
2024-06-01 12:10:25 +00:00
brotli_compression = [
2024-12-14 21:58:01 -05:00
"conduwuit-api/brotli_compression",
"conduwuit-core/brotli_compression",
"conduwuit-router/brotli_compression",
"conduwuit-service/brotli_compression",
2024-06-01 12:10:25 +00:00
]
2024-06-10 06:02:17 +00:00
console = [
2024-12-14 21:58:01 -05:00
"conduwuit-service/console",
2024-06-10 06:02:17 +00:00
]
direct_tls = [
2024-12-14 21:58:01 -05:00
"conduwuit-router/direct_tls"
]
2024-06-01 12:10:25 +00:00
element_hacks = [
2024-12-14 21:58:01 -05:00
"conduwuit-api/element_hacks",
"conduwuit-service/element_hacks",
2024-06-01 12:10:25 +00:00
]
gzip_compression = [
2024-12-14 21:58:01 -05:00
"conduwuit-api/gzip_compression",
"conduwuit-core/gzip_compression",
2024-12-14 21:58:01 -05:00
"conduwuit-router/gzip_compression",
"conduwuit-service/gzip_compression",
2024-06-01 12:10:25 +00:00
]
hardened_malloc = [
2024-12-14 21:58:01 -05:00
"conduwuit-core/hardened_malloc",
2024-06-01 12:10:25 +00:00
]
io_uring = [
2024-12-14 21:58:01 -05:00
"conduwuit-database/io_uring",
2024-06-01 12:10:25 +00:00
]
jemalloc = [
2024-12-14 21:58:01 -05:00
"conduwuit-core/jemalloc",
"conduwuit-database/jemalloc",
2024-06-01 12:10:25 +00:00
]
jemalloc_prof = [
2024-12-14 21:58:01 -05:00
"conduwuit-core/jemalloc_prof",
2024-06-01 12:10:25 +00:00
]
2024-08-18 17:36:33 -04:00
jemalloc_stats = [
2024-12-14 21:58:01 -05:00
"conduwuit-core/jemalloc_stats",
2024-08-18 17:36:33 -04:00
]
2025-01-18 01:30:41 +00:00
jemalloc_conf = [
"conduwuit-core/jemalloc_conf",
]
ldap = [
"conduwuit-api/ldap",
]
media_thumbnail = [
"conduwuit-service/media_thumbnail",
]
otlp_telemetry = [
2024-06-01 12:10:25 +00:00
"dep:opentelemetry",
"dep:tracing-opentelemetry",
"dep:opentelemetry_sdk",
2025-09-06 16:05:13 +01:00
"dep:opentelemetry-otlp",
]
perf_measurements = [
"dep:tracing-flame",
"otlp_telemetry",
2024-12-14 21:58:01 -05:00
"conduwuit-core/perf_measurements",
"conduwuit-core/sentry_telemetry",
2024-06-01 12:10:25 +00:00
]
2024-05-09 15:59:08 -07:00
# increases performance, reduces build times, and reduces binary size by not compiling or
# genreating code for log level filters that users will generally not use (debug and trace)
release_max_log_level = [
"tracing/max_level_trace",
"tracing/release_max_level_info",
"log/max_level_trace",
"log/release_max_level_info",
2024-12-14 21:58:01 -05:00
"conduwuit-admin/release_max_log_level",
"conduwuit-api/release_max_log_level",
"conduwuit-core/release_max_log_level",
"conduwuit-database/release_max_log_level",
"conduwuit-router/release_max_log_level",
"conduwuit-service/release_max_log_level",
2024-06-01 12:10:25 +00:00
]
2024-05-09 15:59:08 -07:00
sentry_telemetry = [
"dep:sentry",
"dep:sentry-tracing",
"dep:sentry-tower",
2024-12-14 21:58:01 -05:00
"conduwuit-core/sentry_telemetry",
"conduwuit-router/sentry_telemetry",
2024-06-01 12:10:25 +00:00
]
systemd = [
2024-12-14 21:58:01 -05:00
"conduwuit-router/systemd",
"conduwuit-service/systemd"
2024-05-09 15:59:08 -07:00
]
journald = [ # This is a stub on non-unix platforms
"dep:tracing-journald",
]
2024-05-09 15:59:08 -07:00
# enable the tokio_console server ncompatible with release_max_log_level
tokio_console = [
"dep:console-subscriber",
"tokio/tracing",
]
url_preview = [
"conduwuit-service/url_preview",
]
2024-06-01 12:10:25 +00:00
zstd_compression = [
2024-12-14 21:58:01 -05:00
"conduwuit-api/zstd_compression",
"conduwuit-core/zstd_compression",
"conduwuit-database/zstd_compression",
"conduwuit-router/zstd_compression",
"conduwuit-service/zstd_compression",
2024-05-09 15:59:08 -07:00
]
conduwuit_mods = [
"conduwuit-core/conduwuit_mods",
]
2025-07-24 21:51:52 +01:00
bindgen-static = [
# "bindgen/static"
2025-07-23 00:24:27 +01:00
# "clang-sys/static"
2025-07-24 21:51:52 +01:00
"conduwuit-database/bindgen-static"
]
bindgen-runtime = [
"conduwuit-database/bindgen-runtime"
2025-07-23 00:24:27 +01:00
]
[build-dependencies]
2025-07-24 21:51:52 +01:00
# bindgen = {version = "0.71.1", default-features = false}
2025-07-23 00:24:27 +01:00
# clang-sys = {version = "1", default-features = false}
2024-05-09 15:59:08 -07:00
[dependencies]
2024-12-14 21:58:01 -05:00
conduwuit-admin.workspace = true
conduwuit-api.workspace = true
conduwuit-core.workspace = true
conduwuit-database.workspace = true
conduwuit-router.workspace = true
conduwuit-service.workspace = true
conduwuit-build-metadata.workspace = true
2024-05-09 15:59:08 -07:00
clap.workspace = true
2024-12-17 14:32:54 +00:00
console-subscriber.optional = true
console-subscriber.workspace = true
2024-07-13 21:02:43 +00:00
const-str.workspace = true
2024-12-17 14:32:54 +00:00
log.workspace = true
2024-05-09 15:59:08 -07:00
opentelemetry.optional = true
2024-12-17 14:32:54 +00:00
opentelemetry.workspace = true
2025-09-06 16:05:13 +01:00
opentelemetry-otlp.optional = true
opentelemetry-otlp.workspace = true
2024-05-09 15:59:08 -07:00
opentelemetry_sdk.optional = true
2024-12-17 14:32:54 +00:00
opentelemetry_sdk.workspace = true
2024-05-09 15:59:08 -07:00
sentry-tower.optional = true
2024-12-17 14:32:54 +00:00
sentry-tower.workspace = true
sentry-tracing.optional = true
sentry-tracing.workspace = true
sentry.optional = true
sentry.workspace = true
2024-05-09 15:59:08 -07:00
tokio-metrics.optional = true
2024-12-17 14:32:54 +00:00
tokio-metrics.workspace = true
tokio.workspace = true
tracing-flame.optional = true
tracing-flame.workspace = true
tracing-opentelemetry.optional = true
tracing-opentelemetry.workspace = true
tracing-subscriber.workspace = true
tracing.workspace = true
tracing-journald = { workspace = true, optional = true }
2026-02-06 01:17:45 +00:00
parking_lot.workspace = true
2024-05-09 15:59:08 -07:00
2025-09-06 16:05:13 +01:00
2024-05-09 15:59:08 -07:00
[target.'cfg(all(not(target_env = "msvc"), target_os = "linux"))'.dependencies]
hardened_malloc-rs.workspace = true
hardened_malloc-rs.optional = true
[lints]
workspace = true
[[bin]]
2024-12-14 21:58:01 -05:00
name = "conduwuit"
2024-05-09 15:59:08 -07:00
path = "main.rs"