CurryInfo: cpm-3.3.0 / CPM.PackageCopy.upgradeSinglePackage

definition:
upgradeSinglePackage :: Config -> String -> String -> ErrorLogger ()
upgradeSinglePackage cfg dir pkgName = do
  pkgspec <- loadPackageSpec dir
  repo    <- getRepoForPackageSpec cfg pkgspec
  gc      <- GC.readGlobalCache cfg repo
  originalLS <- lookupSetForPackageCopy cfg pkgspec repo gc dir
  let transitiveDeps = pkgName : allTransitiveDependencies originalLS pkgName
  result <- resolveDependenciesFromLookupSet cfg (setBaseDependency cfg pkgspec)
                        (LS.setLocallyIgnored originalLS transitiveDeps)
  GC.installMissingDependencies cfg gc (resolvedPackages result)
  logInfo (showShortDependencies result)
  copyDependencies cfg pkgspec (resolvedPackages result) dir
  return ()
demand:
no demanded arguments
deterministic:
deterministic operation
documentation:
--- Upgrades a single package and its transitive dependencies.
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,_,_) |-> _}
name:
upgradeSinglePackage
precedence:
no precedence defined
result-values:
_
signature:
CPM.Config.Config -> String -> String -> CPM.ErrorLogger.ErrorLogger ()
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term