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.
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 key0x10327DE761AB977333B1AD7629932AC49F3044CE
.
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.
After downloading the installer and validating the SHA512 sum, simply run the installer and follow the directions.
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 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)
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.
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
.