pub fn parse_pkgbuild_deps(
pkgbuild: &str,
) -> (Vec<String>, Vec<String>, Vec<String>, Vec<String>)Expand description
What: Parse dependencies from PKGBUILD content.
Inputs:
pkgbuild: Raw PKGBUILD file content.
Output:
- Returns a tuple of (depends, makedepends, checkdepends, optdepends) vectors.
Details:
- Parses bash array syntax:
depends=('foo' 'bar>=1.2')(single-line) - Also handles
depends+=patterns used in functions likepackage() - Handles both quoted and unquoted dependencies
- Also handles multi-line arrays:
depends=( 'foo' 'bar>=1.2' ) - Filters out .so files (virtual packages) and invalid package names
- Only parses specific dependency fields (depends, makedepends, checkdepends, optdepends)