diff --git a/pkg/pacman/sync/sync.go b/pkg/pacman/sync/sync.go index eabd3a9..47b78dc 100644 --- a/pkg/pacman/sync/sync.go +++ b/pkg/pacman/sync/sync.go @@ -268,17 +268,26 @@ func resolveAndInstallDeps(f *fetch.Fetcher, aurInfo *aur.Package, logWriter io. return fmt.Errorf("failed to resolve dependencies: %w", err) } - var aurDeps []string + var repoDeps, aurDeps []string for _, dep := range depends { info := resolved[dep] if info.Installed { continue } + pkg := dep + if info.Provided != "" { + pkg = info.Provided + } if info.Exists { - continue + repoDeps = append(repoDeps, pkg) + } else if info.InAUR { + aurDeps = append(aurDeps, pkg) } - if info.InAUR { - aurDeps = append(aurDeps, dep) + } + + if len(repoDeps) > 0 { + if err := SyncPackages(repoDeps, logWriter); err != nil { + return fmt.Errorf("failed to install repo dependencies: %w", err) } }