Advice sought on structuring a system

Elias Mårtenson lokedhs at gmail.com
Thu Apr 7 03:09:56 UTC 2016


On 7 April 2016 at 07:21, Don Morrison <dfm2 at cmu.edu> wrote:


> However Roan's use of SQLite is not essential to Roan's usefulness (well,
> it's probably not all that useful to most people anyway, only to those
> interested in change ringing, a small audience). There's really only one,
> tiny corner of functionality in Roan it supports. While sqlite3 is easily
> obtained, it would seem polite to allow use of Roan without it, simply
> disabling  the two functions that depend upon it. The "disable if the
> cl-sqlite stuff is not present" part I can easily do. What's causing me to
> scratch my head is figuring out how to set things up so Roan will still
> install whether or not the sqlite3 binary library is present.
>

I had a similar issue when I contributed GSSAPI support to Postmodern. I
clearly did not want to have Postmodern depend on cl-gss, which will fail
to load if the Kerberos client libraries are not installed on the machine
(it will also completely fail on Windows).

The solution I chose was to simply require the user to manually load cl-gss
(using QL or whatever mechanism they feel like). When GSSAPI authentication
is requested, Postmodern will check if the CL-GSS package is available, and
then call the relevant functions through symbols looked up using
FIND-SYMBOL.

If the cl-gss system has not been loaded, Postmodern will issue a
restartable error requesting the user to to load the system before
continuing.

Regards,
Elias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/pro/attachments/20160407/14caf2fe/attachment-0001.html>


More information about the pro mailing list