Creating one's own quicklisp distribution (was: Work-around built-in ~/common-lisp/ in search path?)

Kambiz Darabi darabi at m-creations.com
Fri Nov 18 15:41:07 UTC 2016


Hi Robert,

a side note: have you ever considered creating your company-internal
quicklisp distribution?

We are in the same situation of needing defined versions of dependencies
indepent from what is in the current quicklisp dist. We solve this by
having a repository with a file which contains a list of git repos where
the master branches contain what we want to distribute in the dist.

Using shirakumo-dist [1], a new release is created with:

(asdf:load-system :m-creations-dist)
(m-creations-dist::redist)

You can then rsync the release/ subdir to a web server and your
colleagues can use the release with

(ql-dist:install-dist "http://quicklisp.sift.internal/dist1.txt")


Nicolas Hafner pointed me to his shirakumo-dist [1] which in turn uses
Quickdist [2] which I took as blueprint for ours [3].


HTH


Kambiz


[1] https://github.com/Shirakumo/dist

[2] https://github.com/orivej/quickdist

[3] https://github.com/m-creations/m-creations-dist


On 2016-11-16 19:01 CET, Robert Goldman <rpgoldman at sift.net> wrote:

> Here's my issue:
>
> 1. I have a bunch of lisp libraries that I use on everyday things
> installed in ~/common-lisp/.  One of the systems in there is an older,
> modified version of fiveam that my company uses in many projects.
>
> 2. I have a project where we use libraries from quicklisp to make it
> easier to handle dependencies.  For this project, I run a function that
> resets the ASDF source-registry, and uses a special copy of quicklisp (a
> copy that writes its systems in a different location).
>
> 3. I cannot build my system because the version of fiveam in
> ~/common-lisp/ shadows the version of fiveam from quicklisp, which I need.
>
> 4. I don't see any OBVIOUS way to tell ASDF to ignore my ~/common-lisp/
> directory.  I can do the following:
>
>   (setf asdf:*default-source-registries*
>         (remove 'asdf/source-registry::default-user-source-registry
>                 asdf:*default-source-registries*))
>
> but that seems really hard-core.  Would it be reasonable to make the
> defaults a little easier to override?
>
> Maybe something that's equivalent to --no-userinit and --no-sysinit when
> starting lisp -- something that will remove the user-specific entries or
> system-specific entries, respectively?
>
> I don't believe I can simply wipe the defaults, because then I might
> miss some SBCL libraries that come with the system default settings.
>
> Cheers,
> r



More information about the asdf-devel mailing list