[graphic-forms-devel] Up and running

Jack Unrue jdunrue at gmail.com
Thu Aug 30 02:22:01 UTC 2007


On 8/29/07, David Lichteblau <david at lichteblau.com> wrote:
> Hi Jack,

Hi David, thanks for your comments.

> Quoting Jack Unrue (jdunrue at gmail.com):
> > I suspect your current working directory is not the top of the
> > graphic-forms directory when you go to load the system,
> > which is mentioned as step 3 in the How To Configure and Build
> > section of the readme.
>
> I have not followed graphic-forms changes in the last year, and when I
> tried building it with clbuild the last time it worked well, but in
> general the whole procedure described in "How To Configure and Build" is
> a little bit unusual.

Yep, I grant you that is true.

> IIRC when adding graphic forms to clbuild I just ignored all that was
> written there; the only trick is to set up .asd file symlinks
>   for src/external-libraries/*/*/*.asd

I haven't tested shortcut support in the 4 Lisps that I currently develop
with. I should do that. But, as you point out on your clbuild webpage,
in the case of SBCL a patch is needed in order to understand shortcuts.
Is a newcomer to Lisp expected to be able to do that?

Ken may be in luck since he is using CLISP on Cygwin, and perhaps for
him clbuild is the way to go. Note for Ken, the URL for clbuild is:

http://common-lisp.net/project/clbuild/

In general, I'm not sure how I could expect symlinks to be available to all
Windows users, unless they are running a shell like bash from MSYS or
Cygwin.

What you did to get clbuild working is what I had intended. Experienced
developers may prefer different/better ways of loading this stuff. But I
was trying (and I guess failing) to give new users an 'easier' way to get
started.

You may have guessed that gfsys::configure-asdf pushes a bunch of
values onto asdf:*central-registry*. Well, that's something anyone can
do themselves if they are familiar with ASDF.

> While that is easy enough, I think most users will be confused by extra
> instructions (config.lisp, gfsys::configure-asdf) that are not strictly
> necessary and not familiar from other projects.
>
> Having to special-case graphic-forms in build scripts that would
> otherwise expect to just symlink graphic-forms/*.asd is also slightly
> inconvenient.  I would suggest either moving those extra .asd files into
> the top-level graphic-forms directory or to move those external-library
> directories into separate installations.

That's a good idea.

> Finally, I seem to recall various configuration variables for absolute
> paths that could have been computed automatically using
>   (slot-value (asdf:find-system :graphic-forms) 'asdf::relative-pathname)
> in the appropriate places.

At least some of those locations are for libraries such as CFFI which the
user may have placed anywhere.

My motivation for config.lisp, et. al., in the first place was because I
figured that explaining what asdf:*central-registry* was, and explaining
why symlinks may or may not work on Windows, was a bit more than I
wanted to bite off in terms of instructions for new users. So I came up
with this other mechanism.

I won't argue that the current system is surprisingly different from
other projects, or that improvements can't be made (c.f. your idea
about relocating the .asd files for the bundled libraries). I just didn't
think I'd be any better off leaving Windows users to their own devices
to configure ASDF by hand, from a support standpoint.

-- 
Jack Unrue



More information about the Graphic-forms-devel mailing list