[clbuild-devel] `clbuild lisp' and `asdf:*central-registry*'...

Dietrich Bollmann diresu at web.de
Thu Feb 28 06:23:18 UTC 2008


Hi,

I am using `~/.sbclrc' between other things to add some
directories to the `asdf:*central-registry*'.

I read on clbuild's homepage ( http://common-lisp.net/project/clbuild/ )
that `~/.sbclrc' is ignored when starting sbcl with `clbuild lisp'
when not explicitely told to use it by creating the file
`clbuild/clbuild.conf' using `clbuild/clbuild.conf.default' as a model
and setting the variable `USER_INIT' to something like
`${HOME}/.sbclrc'.

But even when doing so, my configured version of
`asdf:*central-registry*' would be ignored.

I finally found the reason in `clbuild/clbuild' overwriting the value
of `asdf:*central-registry*'...

I probably could use `clbuild register-asd' to add my asd-files to
clbuilds registry but I think it is strange that a configured
`asdf:*central-registry*' is ignored even if `USER_INIT' was 
configured to load `~/.sbclrc'.

For the moment I changed the original line

  set_central_registry="(setq asdf:*central-registry* '(#p
\"${system_namestring}\"))"

in `clbuild/clbuild' to 

  if test -n "$USER_REGISTRY"; then
    set_central_registry="(setq asdf:*central-registry*
${USER_REGISTRY})"
  else
    set_central_registry="(setq asdf:*central-registry* '(#p
\"${system_namestring}\"))"
  fi

and added

  USER_REGISTRY='asdf:*central-registry*'

to `clbuild/clbuild.conf'.  But to me this looks rather like a hack 
than a convincing solution :)

Any idea for a better solution?

Dietrich


PS: Probably a better way would be to set 'asdf:*central-registry*' to 
the value needed by clbuild before the profile is loaded.

By the way, is there some way to test inside of the profile
which version of sbcl is used if there are different installations
of sbcl?





More information about the clbuild-devel mailing list