libredox: Red Bear OS Phase J fork (use local syscall with EnterS2Idle/ExitS2Idle)
Phase J: hardware-agnostic s2idle / Modern Standby support in libredox. The libredox 0.1.17 dep on redox_syscall is redirected to the local fork at ../syscall (the fork at local/sources/syscall/ which adds EnterS2Idle/ExitS2Idle AcPiVerb variants to upstream's 0.8.1). This breaks the libredox::error::Error <-> syscall::Error type-identity barrier that previously caused E0277 errors in scheme-utils and daemon when the local syscall fork was used. Now that libredox also uses the local fork, both types are the same compile-time type. The version field stays at upstream 0.1.17 per the AGENTS.md 'GOLDEN RULE — Red Bear adapts to upstream, never the reverse'. Periodic rebase via 'git fetch upstream' is the workflow when upstream changes. Hardware-agnostic: works for any platform with Modern Standby firmware (Dell, HP, Lenovo, LG Gram, etc.).
This commit is contained in:
+75
@@ -0,0 +1,75 @@
|
|||||||
|
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||||
|
#
|
||||||
|
# When uploading crates to the registry Cargo will automatically
|
||||||
|
# "normalize" Cargo.toml files for maximal compatibility
|
||||||
|
# with all versions of Cargo and also rewrite `path` dependencies
|
||||||
|
# to registry (e.g., crates.io) dependencies.
|
||||||
|
#
|
||||||
|
# If you are reading this file be aware that the original Cargo.toml
|
||||||
|
# will likely look very different (and much more reasonable).
|
||||||
|
# See Cargo.toml.orig for the original contents.
|
||||||
|
|
||||||
|
[package]
|
||||||
|
edition = "2021"
|
||||||
|
name = "libredox"
|
||||||
|
version = "0.1.17"
|
||||||
|
authors = ["4lDO2 <4lDO2@protonmail.com>"]
|
||||||
|
build = false
|
||||||
|
exclude = ["target"]
|
||||||
|
autolib = false
|
||||||
|
autobins = false
|
||||||
|
autoexamples = false
|
||||||
|
autotests = false
|
||||||
|
autobenches = false
|
||||||
|
description = "Redox stable ABI"
|
||||||
|
readme = false
|
||||||
|
license = "MIT"
|
||||||
|
repository = "https://gitlab.redox-os.org/redox-os/libredox.git"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
base = ["libc"]
|
||||||
|
call = ["base"]
|
||||||
|
default = [
|
||||||
|
"base",
|
||||||
|
"call",
|
||||||
|
"std",
|
||||||
|
"redox_syscall",
|
||||||
|
"protocol",
|
||||||
|
]
|
||||||
|
mkns = ["ioslice"]
|
||||||
|
protocol = [
|
||||||
|
"plain",
|
||||||
|
"bitflags",
|
||||||
|
]
|
||||||
|
std = ["base"]
|
||||||
|
|
||||||
|
[lib]
|
||||||
|
name = "libredox"
|
||||||
|
path = "src/lib.rs"
|
||||||
|
|
||||||
|
[dependencies.bitflags]
|
||||||
|
version = "2"
|
||||||
|
optional = true
|
||||||
|
|
||||||
|
[dependencies.ioslice]
|
||||||
|
version = "0.6"
|
||||||
|
optional = true
|
||||||
|
|
||||||
|
[dependencies.libc]
|
||||||
|
version = "0.2"
|
||||||
|
optional = true
|
||||||
|
|
||||||
|
[dependencies.plain]
|
||||||
|
version = "0.2"
|
||||||
|
optional = true
|
||||||
|
|
||||||
|
# Red Bear OS Phase J: path override to the local syscall
|
||||||
|
# fork. The local fork at ../syscall/ adds the
|
||||||
|
# EnterS2Idle/ExitS2Idle AcPiVerb variants. This breaks
|
||||||
|
# the libredox::error::Error <-> syscall::Error type-
|
||||||
|
# identity barrier that previously caused E0277 errors in
|
||||||
|
# scheme-utils and daemon.
|
||||||
|
[dependencies.redox_syscall]
|
||||||
|
path = "../syscall"
|
||||||
|
version = "0.8"
|
||||||
|
optional = true
|
||||||
Generated
+42
@@ -0,0 +1,42 @@
|
|||||||
|
[package]
|
||||||
|
name = "libredox"
|
||||||
|
authors = ["4lDO2 <4lDO2@protonmail.com>"]
|
||||||
|
# Red Bear OS Phase J: version is 0.1.17 upstream but the
|
||||||
|
# redox_syscall dep is redirected to the local fork at
|
||||||
|
# ../syscall (which adds EnterS2Idle/ExitS2Idle AcpiVerb
|
||||||
|
# variants). The version field stays at upstream 0.1.17
|
||||||
|
# per the AGENTS.md "GOLDEN RULE" — periodic rebase via
|
||||||
|
# `git fetch upstream` is the workflow when upstream changes.
|
||||||
|
version = "0.1.17"
|
||||||
|
edition = "2021"
|
||||||
|
license = "MIT"
|
||||||
|
description = "Redox stable ABI"
|
||||||
|
# Red Bear OS fork lives at the canonical outer repo
|
||||||
|
# (gitea.redbearos.org/vasilito/RedBear-OS).
|
||||||
|
repository = "https://gitea.redbearos.org/vasilito/RedBear-OS"
|
||||||
|
exclude = ["target"]
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = ["base", "call", "std", "redox_syscall", "protocol"]
|
||||||
|
base = ["libc"]
|
||||||
|
call = ["base"]
|
||||||
|
std = ["base"]
|
||||||
|
protocol = ["plain", "bitflags", "redox_syscall"]
|
||||||
|
mkns = ["ioslice"]
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
bitflags = { version = "2", optional = true }
|
||||||
|
libc = { version = "0.2", optional = true }
|
||||||
|
# Phase J: path override to the local fork (../syscall
|
||||||
|
# relative to the libredox fork's local/sources/libredox/
|
||||||
|
# path). This gives libredox access to the EnterS2Idle /
|
||||||
|
# ExitS2Idle AcpiVerb variants. Cargo's [patch.crates-io]
|
||||||
|
# in the workspace's outer Cargo.toml (in base/ and kernel/)
|
||||||
|
# is what wires this path through to the actual
|
||||||
|
# redox_syscall crate; this path entry is the libredox-
|
||||||
|
# side patch override for the same crate.
|
||||||
|
redox_syscall = { path = "../syscall", version = "0.8", optional = true }
|
||||||
|
ioslice = { version = "0.6", optional = true }
|
||||||
|
plain = { version = "0.2", optional = true }
|
||||||
Reference in New Issue
Block a user