Install CLPM

CLPM is distributed in both source and binary form. For either version, first install the dependencies:

A Lisp implementation
SBCL is currently required if you are installing from source. SBCL or CCL are the most tested implementations for groveling dependencies from .asd files (necessary if you are installing a development version of a project).

git
If you want to use development versions of your dependencies.

tar
Required.

Prebuilt binaries

To install CLPM in binary form, download the appropriate file from https://files.clpm.dev/clpm/. Each release of CLPM consists of the following files:

clpm-$VERSION-darwin-amd64.tar.gz
CLPM compiled for 64bit Mac OS.

clpm-$VERSION-linux-amd64.tar.gz
CLPM compiled for 64bit Linux.

clpm-$VERSION-linux-arm64.tar.gz
CLPM compiled for 64bit Linux on ARM processors.

clpm-$VERSION-linux-arm.tar.gz
CLPM compiled for 32bit Linux on ARM processors.

clpm-$VERSION-windows-amd64.msi
CLPM installer for 64 bit Windows.

clpm-$VERSION.DIGESTS
Text file containing the SHA512 sums for every previously mentioned file.

clpm-$VERSION.DIGESTS.asc
Same as clpm-$VERSION.DIGESTS, but signed with GPG key 0x10327DE761AB977333B1AD7629932AC49F3044CE.

GNU/Linux

After downloading the tarball and validating the SHA512 sum, unpack it and run sh install.sh. By default, it is installed to /usr/local/, but that prefix con be changed using the INSTALL_ROOT environment variable.

Windows

After downloading the installer and validating the SHA512 sum, simply run the installer and follow the directions.

Source install

Configuring

CLPM can be customized by placing a file named customize-target-features.lisp-expr in the root of the repo with a single lambda form in it that takes a list of features and returns a modified feature list. See file:features/clpm-features.lisp for a brief description of the available features.

For example, to disable Dexador support, use the following form:

(lambda (features)
  (flet ((enable (feature)
           (pushnew feature features))
         (disable (feature)
           (setf features (remove feature features))))
    (declare (ignorable #'enable #'disable))
    (disable :clpm-dexador))
  features)

Build and install

After cloning the repo and checking out the version you want, ensure the submodules are up to date (git submodule init and git submodule update) and run:

sbcl --script scripts/build-release.lisp

This will place a release tarball in the releases/dynamic/ folder that you can unpack and install as above. Alternatively, you can build only the exectuable using the scripts/build.lisp script. This will place the executable in build/bin/.

If you're on Windows, you need to additionally install WiX v3.x and run the following:

$env:WIX=%PATH_TO_WIX_INSTALL%
sbcl --script scripts/build-msi.lisp

This will get you an installer you can use.

Live install

If you would like to hack on CLPM, it may be easiest to load CLPM every time you want to use it instead of building a binary. The easiest way to do this is to execute scripts/clpm-live-sbcl. I recommend symlinking it to something like /usr/local/bin/clpm.