Skip to main content

parse_dep_spec

Function parse_dep_spec 

Source
pub fn parse_dep_spec(spec: &str) -> DependencySpec
Expand description

What: Split a dependency specification into name and version requirement.

Inputs:

  • spec: Dependency string from pacman (e.g., “python>=3.12”, “glibc”).

Output:

  • Returns DependencySpec with name and version_req fields.

Details:

  • Searches for version operators in precedence order: <=, >=, =, <, >
  • Returns empty version_req when no operator is present.
  • Trims whitespace from both name and version.

§Examples

use arch_toolkit::deps::parse_dep_spec;

let spec = parse_dep_spec("python>=3.12");
assert_eq!(spec.name, "python");
assert_eq!(spec.version_req, ">=3.12");

let spec = parse_dep_spec("glibc");
assert_eq!(spec.name, "glibc");
assert!(spec.version_req.is_empty());