Comment 8 for bug 769634

Revision history for this message
Ernst van Waning (evw) wrote : Re: [Bug 769634] Re: cl file types on asdf2.014.6, SBCL 1.0.29.11.debian

Dear Robert,

thank you for your quick answer. I will try it out tonight & I hope my
questions are welcome.

Robert P. Goldman schreef op wo 27-04-2011 om 13:47 [+0000]:
> On 4/27/11 Apr 27 -8:40 AM, Ernst van Waning wrote:
> > Hello Faré,
> >
> > now that the cl file extension works, I would like to have the class
> > clcl-source-file and the method source-file-type separated form my asd
> > files defining systems, as I use the cl-extension all the time and the
> > documentation does not seem to forbid that.
> >
> > With the definitions for the class and method in a file
> > named ../asdf/clcl.cl, I thought to use :defsystem-depends-on, as in
> >
> > (defsystem :symquery
> > :version "0.6.0"
> > :defsystem-depends-on ((:file "../asdf/clcl"))
> > :default-component-class clcl-source-file
> > :serial t
> > :components ((:file "packages")
> > (:file "symquery")))
> >
> > but that gives an error:
> > (during macroexpansion of (DEFSYSTEM :SYMQUERY ...))
> > Invalid component designator: (FILE ../asdf/clcl)
> >
> > With :static-file things go equally wrong. so there must be at least
> > something I do not fully understand. This can be the notation of
> > pathnames in asdf (I know mine is wrong), it can
> > be :defsystem-depends-on or (probably) much more.
> >
> > Could you please help me solve this? At present, I think I should be
> > using more Lisp libraries and not rely on my own quick fixes, hence the
> > effort I take in using asdf2. When I understand better, I could write
> > or help write documentation about this so it can be added to asdf's
> > documentation.
> >
> > Kind regards, hoping to hear
> >
> > Ernst
> >
> > Faré schreef op ma 25-04-2011 om 14:14 [+0000]:
> >> You don't need to run (asdf:upgrade-asdf). By the time you'd run it,
> >> it'd be too late, since this problem has to do with older versions of
> >> asdf that don't have this function. By the time you have this function,
> >> either asdf did the right thing and upgraded correctly already, or it
> >> failed and you lose (which unhappily was the case previously wrt source-
> >> file-type).
> >>
> >> ** Changed in: asdf
> >> Status: New => Fix Committed
> >>
> >
>
> :defsystem-depends-on must name an ASDF system, and not a file.
>
> --
> You received this bug notification because you are a direct subscriber
> of the bug.
> https://bugs.launchpad.net/bugs/769634
>
> Title:
> cl file types on asdf2.014.6, SBCL 1.0.29.11.debian
>
> Status in Another System Definition Facility:
> Fix Committed
>
> Bug description:
> Dear ASDF maintainer,
>
> having downloaded quicklisp, added quicklisp to my init file, I
> automatically switched form asdf 1.30 to asdf 2.014.6, which was
> perhaps long overdue.
>
> Being one of those whose source files all have the cl extension, I
> have trouble to convince asdf2 of that fact. The system I use to make
> asdf use cl extentions has the following definition:
>
> ;;; system.asd
>
> (in-package :cl-user)
>
> (eval-when (:execute :compile-toplevel)
> (require :asdf))
>
> (use-package :asdf) ;asdf 2.014.6, seems to expect this, but still it assumes .lisp sources
> ;;; the manual seems to require the use-package, but use-package does not seem to make any difference here
>
> (defclass clcl-source-file (asdf:cl-source-file)
> ((type :initform "cl")))
>
> (defmethod asdf:cl-source-file ((f clcl-source-file) (m asdf:module))
> (declare (ignorable f m))
> "cl")
>
> (asdf:defsystem :symquery
> :version "0.6.0"
> :serial t
> :default-component-class clcl-source-file
> :components ((:file "packages")
> (:file "symquery")))
>
> (defmethod asdf:source-file-type ((c clcl-source-file)
> (s (eql (asdf:find-system :symquery))))
> "cl")
>
> ;;end system.asd
>
> The file above compiles and loads fine with SBCL 1.0.29.11.debian. The modules packages and symquery are both
> instances of class clcl-source-file. However, the functions
> component-pathname and source-file-explicit-type disagree on the
> extension:
>
> CL-USER> (mapcar #'asdf:component-pathname (asdf:module-components (asdf:find-system :symquery)))
> (#P"/home/ernst/src/CL/symquery/packages.lisp"
> #P"/home/ernst/src/CL/symquery/symquery.lisp")
> CL-USER> (mapcar #'asdf::source-file-explicit-type (asdf:module-components (asdf:find-system :symquery)))
> ("cl" "cl")
> CL-USER> (let ((sq (asdf:find-system :symquery))) (mapcar (lambda (x) (asdf::source-file-type x sq)) (asdf:module-components sq)))
> ("cl" "cl")
>
> Having followed some days the asdf-devel mailing list, you certainly
> have more pressing problems. OTOH, I have tried for days now to find
> something to make my source-files with cl-extension load as they did
> with asdf 1.130, but so far I didn't succeed. Could you please tell me
> what I should do?
>
> Hoping to hear,
>
> Kind regards,
>
> Ernst van Waning
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/asdf/+bug/769634/+subscribe
>