See also text & comments at
|Did you know ...||Search Documentation:|
|library(prolog_pack): A package manager for Prolog|
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
andmake` with the right environment. It will also write a file
buildendv.shthat you can source to get the environment for running a normal
make(this is done only if there is a
configurestep; i.e., if there is a
Once you have made the changes, you should edit the
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.
?- pack_list(''). lists all packages.
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.
false), upgrade package if it is already installed.
if_absent(default, do nothing if the directory with foreign resources exists),
true(run‘make distclean` followed by the default configure and build steps).
true(default), run the pack tests.
falseunless 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
trusted URL instead of the plain pack name for unattented
READMEfile (if present)
TODOfile (if present)
prologdirectory. Options processed:
last, alternative is