The library(prolog_pack)
provides the SWI-Prolog package
manager. This library lets you inspect installed packages, install
packages, remove packages, etc. It is complemented by the built-in attach_packs/0
that makes installed packages available as libraries.
To make changes to a package:
?- pack_install(.).
This builds the pack locally and
creates a symlink to make it available.
?- pack_rebuild(package_name).
This runs‘make
distclean and
make` with the right environment. It will
also write a file buildendv.sh
that you can source to get
the environment for running a normal make
(this is done
only if there is a configure
step; i.e., if there is a configure.in
or configure
.
cmake
.
Once you have made the changes, you should edit the pack.pl
file to change the version
item. After updating the git
repo, issue a pack_install(package_name, [upgrade(true), test(true), rebuild(make)])
to cause the repository to refresh.
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.
file://
URL or '.'
After resolving the type of package, pack_install/2 is used to do the actual installation.
true
, install in the XDG common application data path,
making the pack accessible to everyone. If false
, install
in the XDG user application data path, making the pack accessible for
the current user only. If the option is absent, use the first existing
and writable directory. If that doesn't exist find locations where it
can be created and prompt the user to do so.
true
(default false), suppress informational progress
messages.
true
(default false
), upgrade package if it
is already installed.
if_absent
(default, do nothing if the directory with
foreign resources exists), make
(run make
) or true
(run‘make distclean` followed by the default configure and build
steps).
true
(default), run the pack tests.
true
(default false
unless 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.
README
file (if present)
TODO
file (if present)
@>
pack.pl
and a prolog
directory. Options processed:
last
, alternative is first
.