Skip to content

About

Package manager for GAP

Resources

Stars

12 stars

Watchers

8 watching

Forks

Repository files navigation

The GAP 4 package "PackageManager"

CI Code Coverage

A package manager for the GAP computer algebra system, allowing easy installation and removal of packages from inside GAP.

Example invocations:

gap> InstallPackage("digraphs");

gap> InstallPackage("https://github.com/gap-packages/Semigroups.git");

gap> InstallPackage("https://github.com/gap-packages/design/releases/download/v1.8.2/design-1.8.2.tar.gz");

gap> RemovePackage("semigroups");

By default, verbose information about a command's progress is printed to the screen. To see less of this information, try using:

gap> SetInfoLevel(InfoPackageManager, 1);

For more information on the features of PackageManager, see the documentation at https://gap-packages.github.io/PackageManager/doc/chap1.html or enter GAP and call, for example,

gap> ?InstallPackage

Installing and configuring GAP using PackageManager

It should be possible to install GAP from source, and install all required packages, using nothing but GAP and PackageManager. The following instructions attempt to install GAP in your home directory ~, with the package manager in a ~/.gap/pkg directory. This should work on a Debian/Ubuntu machine, but might need some alterations on a Mac.

First, make sure you've got the required dependencies for GAP installed on your computer. On a Debian/Ubuntu machine you can get the required software using:

sudo apt install autoconf build-essential curl git graphviz libtool libgmp-dev texlive-full

On a Mac, you can get the required software by installing Homebrew, and running:

brew install git autoconf automake curl GMP graphviz libtool

Now, to install GAP and PackageManager, open a terminal window and enter the following, choosing either the SSH or HTTPS git links:

cd ~
git clone https://github.com/gap-system/gap  # or git@github.com:gap-system/gap.git if you prefer ssh links
cd gap
./autogen.sh
./configure
make
cd ..
mkdir .gap
cd .gap
mkdir pkg
cd pkg
git clone https://github.com/gap-packages/PackageManager  # or git@github.com:gap-packages/PackageManager.git if you prefer ssh links
cd ~/gap
./gap --bare

In the GAP window that opens, enter the following:

LoadPackage("PackageManager");
InstallRequiredPackages();
quit;

Now compile the documentation using:

make doc

You should now be able to load GAP with ./gap and everything should work normally. Further required packages can be installed with InstallPackage when you need them.

Citing

Please cite this package using the following format, filling in the numbers:

[YouXX] M. Young and the GAP team, PackageManager (GAP package), Easily download and install GAP packages, Version X.Y.Z (20XX), https://github.com/gap-packages/PackageManager.

Acknowledgements

PackageManager was partly created with funding from the OpenDreamKit project: https://opendreamkit.org
This infrastructure is part of a project that has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 676541.

About

Package manager for GAP

Resources

Stars

12 stars

Watchers

8 watching

Forks

Releases

Packages

Used by

Contributors

Languages