parse_pkgbuild_deps

Function parse_pkgbuild_deps 

Source
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 like package()
  • 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)