CLPM Client

While CLPM can be used without the client, installing and using the client makes Common Lisp coding a more interactive and fun experience. The CLPM client can be loaded into a Lisp image and integrates with ASDF to seamlessly install missing systems similar to the Quicklisp client.

Note that the clpm-client interface may change at any time before a stable 1.0.0 version is released.

clpm-client ASDF System

The client's ASDF system name is clpm-client. It is installed with CLPM, typically in /usr/local/lib/clpm/client/. In order to use the client, you must configure ASDF to find this system (see the ASDF manual for more information on how to do this) or directly load the .asd file using asdf:load-asd.

The output of clpm client rc prints several ways to load and configure the client. The default rc configuration loads the client if it is available, but does not enter any context or activate ASDF integration. The --quicklisp-alternative option can be used to generate rc file contents that automatically load the client, activates the default context, and configure it to behave similarly to Quicklisp.

ASDF Integration

By default, the client does not hook into ASDF unless directed to. In order to get the benefit of automatically installing systems, activate a context and enable the ASDF hooks by running:

(clpm-client:activate-context "default" :activate-asdf-integration t)

Configuring

The client exports several variables that control its behavior. Some of these variables are listed below, each has a doc string describing its current behavior.

  • *cleanup-on-dump-p*
  • *default-context*
  • *clpm-executable*
  • *asdf-system-not-found-behavior*
  • *clpm-dribble*
  • *context-diff-approval-method*