Re: How CLSQL finds and loads foreign libraries

Edi Weitz <[email protected]>
Newsgroups gmane.lisp.clsql.devel
Message-ID <[email protected]>
On Wed, 8 Jun 2005 15:14:06 -0600, Kevin Rosenberg <kevin-HJRc7zDS/[email protected]> wrote:

> (asdf:operate 'asdf:load-op 'clsql)
> (clsql:add-library-path PATHNAME)
> (asdf:operate 'asdf:load-op 'clsql-postgresql)
>
> While this technique as merit, it won't work for the Debian package
> since Debian users rightfully expect (clc-require 'clsql) to work
> without site specific changes.

Let me come back to this one for a moment.  Isn't there some feature
that you can use to check if you're on Debian?  I think at least
something like this should work

  #+#.(cl:if (cl:find-package :clc) :common-lisp '(cl:or))
  (clsql:add-library-path #p"/debian/specific/folder/")

And users who are not Debian maintainers but who want to provide
site-specific paths can solve the problem of having to load CLSQL
before the package is available like this (in ASDF):

  (defmethod perform :after ((o load-op) (c (eql (find-system :clsql))))
    (funcall (find-symbol "ADD-LIBRARY-PATH" (find-package :clsql))
             #p"/my/private/lib/path/"))

This is untested but if it works and is OK for you we don't need to
resort to non-Lisp external stuff like hard-coded file locations or
environment variables.

What do you think?

Cheers,
Edi.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.