Idris2Doc : Pack.Runner.Database

Pack.Runner.Database

(source)

Definitions

dataSafe : PkgDesc->Type
  Proof that the safety aspects of a value have been checked.
Right now, this is restricted to `.ipkg` files (and thus, resolved
libs and apps) with custom build and install hooks.

Totality: total
Visibility: export
Constructor: 
IsSafe : Safed
0SafeLib : Type
  Alias for `ResolvedLib Safe`

Totality: total
Visibility: public export
dataNotPack : PkgDesc->Type
  Proof that an app is not pack, i.e. does not have an
executable called pack. We want to make sure that
users don't inadvertently overwrite the pack installation.

Totality: total
Visibility: export
Constructor: 
IsNotPack : Safed->NotPackd
0toSafe : NotPackd->Safed
  Extract the `Safe d` wrapped in a `NotPack d`

Totality: total
Visibility: export
0SafeApp : Type
  Alias for `ResolvedApp Safe`

Totality: total
Visibility: public export
0SafePkg : Type
  Alias for `Either SafeLib SafeApp`

Totality: total
Visibility: public export
notPackIsSafe : DescNotPack->DescSafe
  This holds, sind `NotPack d` implies `Safe d` as shown by
`toSafe`.

Totality: total
Visibility: export
safe : HasIOio=>Env=>Desct->EitherTPackErrio (DescSafe)
  Check if a package has special build- or install hooks
defined, and if yes, prompt the user
before continuing (unless `safetyPrompt` in the
`Config` is set to `False` or the package's name is listed
in the whitelist of safe packages).

Totality: total
Visibility: export
notPack : HasIOio=>Env=>Desct->EitherTPackErrio (DescNotPack)
  Like `safe` but verify also that the package does not
produce an executable called "pack"

Totality: total
Visibility: export
parseLibIpkg : HasIOio=>Env=>FileAbs->FileAbs->EitherTPackErrio (DescSafe)
  Parse an `.ipkg` file and check if it has custom build hooks.

Totality: total
Visibility: export
findAndParseLocalIpkg : HasIOio=>Env=>PkgOrIpkg->EitherTPackErrio (DescSafe)
  Parse an `.ipkg` file from a command line arg or a local
package given as a package name and check if it has custom build hooks.

Totality: total
Visibility: export
refinePkg : HasIOio=>CurDir=>MaybePkgOrIpkg->EitherTPackErrioPkgOrIpkg
  Returns present package, or else tries to find the only loca `.ipkg` file.

Totality: total
Visibility: export
parseAppIpkg : HasIOio=>Env=>FileAbs->FileAbs->EitherTPackErrio (DescNotPack)
  Parse an `.ipkg` file representing an application
and check if it has no custom build hooks and does not produce
an executable called "pack".

Totality: total
Visibility: export
safeLib : HasIOio=>Env=>ResolvedLibt->EitherTPackErrioSafeLib
  Check if a resolved library is safe to install (prompt, if it uses
custom build hooks in its `.ipkg` file).

Totality: total
Visibility: export
safeApp : HasIOio=>Env=>ResolvedAppt->EitherTPackErrioSafeApp
  Check if a resolved app is safe to install (prompt, if it uses
custom build hooks in its `.ipkg` file).

This fails if the app produces an executable called "pack": We don't
want to overwrite the pack installation.

Totality: total
Visibility: export
checkLOA : HasIOio=>Env=>LibOrAppUU->EitherTPackErrioSafePkg
  Runs `safeLib` or `safeApp` on a library or app.

Totality: total
Visibility: export
withPkgEnv : HasIOio=>Env=>PkgName->Package-> (PathAbs->EitherTPackErrioa) ->EitherTPackErrioa
  Run a pack action in the directory of a (possibly cloned) package.

Totality: total
Visibility: export
appStatus : HasIOio=>Env=>PkgName->Hash-> (p : Package) ->Body->EitherTPackErrio (AppStatusp)
  Generates the `AppStatus` of a package representing an application.

Totality: total
Visibility: export
resolveLib : HasIOio=>Env=> {default [<] _ : SnocListPkgName} ->PkgName->EitherTPackErrio (ResolvedLibU)
  Try to fully resolve a library given as a package name.
This will look up the library in the current package collection
and will fetch and read its (possibly cached) `.ipkg` file.

Totality: total
Visibility: export
resolveApp : HasIOio=>Env=>PkgName->EitherTPackErrio (ResolvedAppU)
  Try to fully resolve an application given as a package name.
This will look up the app in the current package collection
and will fetch and read its (possibly cached) `.ipkg` file.

Visibility: export
resolveAny : HasIOio=>Env=>InstallType->PkgName->EitherTPackErrio (LibOrAppUU)
  Try to fully resolve an application or library given as a package.
This will look up the package name in the current package collection
and will fetch and read its (possibly cached) `.ipkg` file.

Visibility: export
appPath : HasIOio=>PkgName->Env->EitherTPackErrio ()
  Prints the absolute path of an application's installed executable
to stdout. This is used in the wrapper scripts we use for invoking
the correct version of apps such as `idris2-lsp`, the version of
which depend on the `pack.toml` files currently in scope.

Visibility: export
checkDeletable : HasIOio=>Env=>ListPkgName->EitherTPackErrio ()
  Verifies that the given list of libraries is safe to be deleted

Visibility: export
garbageCollector : HasIOio=>Env->EitherTPackErrio ()
  Delete installations from previous package collections.

Totality: total
Visibility: export
transitiveDeps : HasIOio=>Env=>List (InstallType, PkgName) ->EitherTPackErrio (List (LibOrAppUU))
  Resolve the (transitive) dependencies of the given libs and apps.

Visibility: export
plan : HasIOio=>Env=>List (InstallType, PkgName) ->EitherTPackErrio (ListSafePkg)
  Create a build plan for the given list of packages and apps
plus their dependencies.

All packages depend on the prelude and
base, so we make sure these are installed as well.

Visibility: export