Query package server and installed packages and display 
results.
Query is matches case-insensitively against the name and 
title of known and installed packages. For each matching package, a 
single line is displayed that provides:
- Installation status
 
- p: package, not installed
- i: installed package; up-to-date with public version
- U: installed package; can be upgraded
- A: installed package; newer than publically available
- l: installed package; not on server
 
 
- Name@Version
- Name@Version(ServerVersion)
- Title
Hint: ?- pack_list(''). lists all packages.
The predicates pack_list/1 
and pack_search/1 
are synonyms. Both contact the package server at http://www.swi-prolog.org 
to find available packages.
- See also
- 
pack_list_installed/0 
to list installed packages without contacting the server.
Install a package. Spec is one of
- Archive file name
- HTTP URL of an archive file name. This URL may contain a star (*) 
for the version. In this case pack_install asks for the directory 
content and selects the latest version.
- GIT URL (not well supported yet)
- A local directory name given as file://URL.
- A package name. This queries the package repository at http://www.swi-prolog.org
After resolving the type of package, pack_install/2 
is used to do the actual installation.
Install package Name. Processes the options below. Default 
options as would be used by pack_install/1 
are used to complete the provided Options.
- url(+URL)
- 
Source for downloading the package
- package_directory(+Dir)
- 
Directory into which to install the package
- interactive(+Boolean)
- 
Use default answer without asking the user if there is a default action.
- silent(+Boolean)
- 
If true(default false), suppress informational progress 
messages.
- upgrade(+Boolean)
- 
If true(defaultfalse), upgrade package if it 
is already installed.
- git(+Boolean)
- 
If true(defaultfalseunless URL 
ends with =.git=), assume the URL is a GIT repository.
Non-interactive installation can be established using the option
interactive(false). It is adviced to install from a 
particular
trusted URL instead of the plain pack name for unattented 
operation.
Hook to define the environment for building packs. This Multifile hook 
extends the process environment for building foreign extensions. A value 
provided by this hook overrules defaults provided by def_environment/2. 
In addition to changing the environment, this may be used to pass 
additional values to the environment, as in:
prolog_pack:environment('USER', User) :-
    getenv('USER', User).
| Name | is an atom denoting a valid variable 
name | 
| Value | is either an atom or number 
representing the value of the variable. |