[package] name = "jay-compositor" version = "1.12.0" edition = "2024" build = "build/build.rs" license = "GPL-3.0-only" description = "The Jay compositor" repository = "https://github.com/mahkoh/jay" default-run = "jay" [[bin]] name = "jay" path = "src/main.rs" [workspace] resolver = "3" members = [ "crates/jay-config", "crates/jay-config-schema", "crates/geometry", "crates/layout-animation", "crates/formats", "crates/edid", "crates/units", "crates/utils", "crates/criteria", "crates/cmm", "crates/time", "crates/tracy", "crates/async-engine", "crates/io-uring", "crates/bufio", "crates/dbus-core", "crates/xcon", "crates/wire-types", "crates/wire-buf", "crates/tree-types", "crates/eventfd-cache", "crates/wheel", "crates/cpu-worker", "crates/sighand", "crates/pr-caps", "crates/bugs", "crates/logger", "crates/video-types", "crates/output-types", "crates/input-types", "crates/keyboard", "crates/gfx-types", "crates/theme", "crates/clientmem", "crates/allocator", "crates/output-schedule", "crates/drm-feedback", "crates/udmabuf", "crates/damage", "crates/pango", "crates/libinput", "crates/toml-config", "crates/toml-parser", "crates/algorithms", "crates/toml-spec", "crates/wire-to-xml", "crates/xml-to-wire", ] [profile.release] panic = "abort" debug = "full" [profile.dev] panic = "abort" [dependencies] jay-config = { version = "1.10.0", path = "crates/jay-config" } jay-toml-config = { version = "0.12.0", path = "crates/toml-config" } jay-algorithms = { version = "0.4.0", path = "crates/algorithms" } jay-geometry = { version = "0.1.0", path = "crates/geometry" } jay-layout-animation = { version = "0.1.0", path = "crates/layout-animation" } jay-formats = { version = "0.1.0", path = "crates/formats" } jay-edid = { version = "0.1.0", path = "crates/edid" } jay-units = { version = "0.1.0", path = "crates/units" } jay-utils = { version = "0.1.0", path = "crates/utils" } jay-criteria = { version = "0.1.0", path = "crates/criteria" } jay-cmm = { version = "0.1.0", path = "crates/cmm" } jay-time = { version = "0.1.0", path = "crates/time" } jay-tracy = { version = "0.1.0", path = "crates/tracy" } jay-async-engine = { version = "0.1.0", path = "crates/async-engine" } jay-io-uring = { version = "0.1.0", path = "crates/io-uring" } jay-bufio = { version = "0.1.0", path = "crates/bufio" } jay-dbus-core = { version = "0.1.0", path = "crates/dbus-core" } jay-xcon = { version = "0.1.0", path = "crates/xcon" } jay-wire-types = { version = "0.1.0", path = "crates/wire-types" } jay-wire-buf = { version = "0.1.0", path = "crates/wire-buf" } jay-tree-types = { version = "0.1.0", path = "crates/tree-types" } jay-eventfd-cache = { version = "0.1.0", path = "crates/eventfd-cache" } jay-wheel = { version = "0.1.0", path = "crates/wheel" } jay-cpu-worker = { version = "0.1.0", path = "crates/cpu-worker" } jay-sighand = { version = "0.1.0", path = "crates/sighand" } jay-pr-caps = { version = "0.1.0", path = "crates/pr-caps" } jay-bugs = { version = "0.1.0", path = "crates/bugs" } jay-logger = { version = "0.1.0", path = "crates/logger" } jay-video-types = { version = "0.1.0", path = "crates/video-types" } jay-output-types = { version = "0.1.0", path = "crates/output-types" } jay-input-types = { version = "0.1.0", path = "crates/input-types" } jay-keyboard = { version = "0.1.0", path = "crates/keyboard" } jay-gfx-types = { version = "0.1.0", path = "crates/gfx-types" } jay-theme = { version = "0.1.0", path = "crates/theme" } jay-clientmem = { version = "0.1.0", path = "crates/clientmem" } jay-allocator = { version = "0.1.0", path = "crates/allocator" } jay-output-schedule = { version = "0.1.0", path = "crates/output-schedule" } jay-drm-feedback = { version = "0.1.0", path = "crates/drm-feedback" } jay-udmabuf = { version = "0.1.0", path = "crates/udmabuf" } jay-damage = { version = "0.1.0", path = "crates/damage" } jay-pango = { version = "0.1.0", path = "crates/pango" } jay-libinput = { version = "0.1.0", path = "crates/libinput" } uapi = "0.2.13" thiserror = "2.0.11" ahash = "0.8.7" log = { version = "0.4.20", features = ["std"] } futures-util = "0.3.30" num-traits = "0.2.17" num-derive = "0.4.2" libloading = "0.9.0" bstr = { version = "1.9.0", default-features = false, features = ["std"] } isnt = "0.2.0" rand = "0.10.0" smallvec = { version = "1.11.1", features = ["const_generics", "const_new", "union"] } byteorder = "1.5.0" bincode = "1.3.3" pin-project = "1.1.4" clap = { version = "4.4.18", features = ["derive", "wrap_help"] } clap_complete = "4.4.10" humantime = "2.1.0" dirs = "6.0.0" backtrace = "0.3.69" chrono = "0.4.33" parking_lot = "0.12.1" arrayvec = "0.7.4" indexmap = "2.2.0" ash = { package = "jay-ash", version = "0.3.0" } gpu-alloc = "0.6.0" gpu-alloc-types = "0.3.0" serde = { version = "1.0.196", features = ["derive"] } serde_json = "1.0.128" linearize = { version = "0.1.3", features = ["derive"] } png = "0.18.0" kbvm = { version = "0.1.6", features = ["compose"] } tiny-skia = { version = "0.12.0", default-features = false, features = ["std"] } regex = "1.11.1" cfg-if = "1.0.0" opera = "1.0.1" with_builtin_macros = "0.1.0" blake3 = "1.8.2" run-on-drop = "1.0.0" numeric-sort = "0.1.5" [build-dependencies] repc = "0.1.1" anyhow = "1.0.79" bstr = { version = "1.9.0", default-features = false, features = ["std"] } cc = "1.0.86" blake3 = "1.8.2" walkdir = "2.5.0" #[profile.dev.build-override] #opt-level = 3 [profile.dev.package."jay-algorithms"] opt-level = 3 [profile.dev.package."smallvec"] opt-level = 3 [features] rc_tracking = [] it = ["jay-async-engine/it", "jay-cpu-worker/it"] tracy = ["jay-tracy/tracy", "jay-async-engine/tracy", "jay-cpu-worker/tracy", "jay-clientmem/tracy"]