[workspace] resolver = "2" members = [ "audiod", "config", "daemon", "dhcpd", "init", "initfs", "initfs/tools", "ipcd", "logd", "netstack", "ptyd", "ramfs", "randd", "scheme-utils", "zerod", "drivers/common", "drivers/executor", "drivers/acpid", "drivers/hwd", "drivers/pcid", "drivers/pcid-spawner", "drivers/rtcd", "drivers/vboxd", "drivers/inputd", "drivers/virtio-core", "drivers/audio/ac97d", "drivers/audio/ihdad", "drivers/audio/sb16d", "drivers/graphics/console-draw", "drivers/graphics/fbbootlogd", "drivers/graphics/driver-graphics", "drivers/graphics/fbcond", "drivers/graphics/graphics-ipc", "drivers/graphics/ihdgd", "drivers/graphics/vesad", "drivers/graphics/virtio-gpud", "drivers/input/ps2d", "drivers/input/usbhidd", "drivers/net/driver-network", "drivers/net/e1000d", "drivers/net/ixgbed", "drivers/net/rtl8139d", "drivers/net/rtl8168d", "drivers/net/virtio-netd", "drivers/redoxerd", "drivers/storage/ahcid", "drivers/storage/bcm2835-sdhcid", "drivers/storage/driver-block", "drivers/storage/ided", "drivers/storage/lived", # TODO: not really a driver... "drivers/storage/nvmed", "drivers/storage/usbscsid", "drivers/storage/virtio-blkd", "drivers/usb/xhcid", "drivers/usb/usbctl", "drivers/usb/usbhubd", "drivers/usb/ucsid", "drivers/i2c/i2c-interface", "drivers/i2c/i2cd", "drivers/i2c/amd-mp2-i2cd", "drivers/i2c/dw-acpi-i2cd", "drivers/i2c/intel-lpss-i2cd", "drivers/gpio/gpiod", "drivers/gpio/intel-gpiod", "drivers/gpio/i2c-gpio-expanderd", "drivers/input/i2c-hidd", "drivers/input/intel-thc-hidd", "drivers/acpi-resource", ] # Bootstrap needs it's own profile configuration exclude = ["bootstrap"] # Low-level Redox OS crates should be kept in sync using workspace dependencies # Remember to also update bootstrap dependencies, those are not in the workspace [workspace.dependencies] acpi = { git = "https://gitlab.redox-os.org/redox-os/acpi.git", branch = "redox-6.x" } anyhow = "1" bitflags = "2" clap = "4" drm = "0.15.0" drm-sys = "0.8.1" edid = "0.3.0" #TODO: edid is abandoned, fork it and maintain? fdt = "0.1.5" libc = "0.2.181" log = "0.4" libredox = "0.1.17" orbclient = "0.3.51" parking_lot = "0.12" pico-args = "0.5" plain = "0.2.3" ransid = "0.4" redox_event = "0.4.6" redox-ioctl = { git = "https://gitlab.redox-os.org/redox-os/relibc.git" } redox-log = { git = "https://gitlab.redox-os.org/redox-os/redox-log.git" } redox-rt = { git = "https://gitlab.redox-os.org/redox-os/relibc.git", default-features = false } redox-scheme = "0.11.0" redox_syscall = { path = "../syscall", features = ["std"] } redox_termios = "0.1.3" ron = "0.8.1" serde = { version = "1", features = ["derive"] } serde_json = "1" slab = "0.4.9" smallvec = "1" spin = "0.10" static_assertions = "1.1.0" thiserror = "2" toml = "1" [workspace.lints.rust] missing_docs = "allow" #TODO: set to deny when all public functions are documented [workspace.lints.clippy] missing_safety_doc = "warn" #TODO: set to deny when all safety documentation is completed precedence = "deny" [patch.crates-io] # Red Bear OS Phase I: s2idle / Modern Standby support. # The [patch.crates-io] replaces the upstream gitlab.redox-os.org # redox_syscall (which lacks the new AcpiVerb::EnterS2Idle / # ExitS2Idle variants) with the local fork at # local/sources/syscall/ (a sibling directory of base/, both # under local/sources/). The local fork is the upstream # gitlab.redox-os.org/redox-os/syscall @ 79cb6d9 with our # Red Bear OS P1 commit (cfa7f0c) on top. The version field # stays at upstream 0.8.1 — periodic rebase via # 'git fetch upstream && git rebase upstream/master' is the # workflow when upstream changes. Hardware-agnostic — works # for any platform with Modern Standby firmware (Dell, HP, # Lenovo, LG Gram, etc.). redox_syscall = { path = "../syscall" } # Red Bear OS Phase J: libredox 0.1.17 has its own vendored # redox_syscall dep. Without the libredox override here, # libredox::error::Error is the upstream syscall::error::Error # (a different compile-time type than the local fork's # syscall::Error) and the conversion `?` operator in # scheme-utils / daemon fails with E0277. Override libredox # to use the local fork at ../libredox/ (which itself uses # the local syscall fork). Now libredox::error::Error and # syscall::Error are the same type. libredox = { path = "../libredox" } [patch."https://gitlab.redox-os.org/redox-os/relibc.git"] #redox-ioctl = { path = "../../relibc/source/redox-ioctl" }