Dear Ralf, congratulations for maintaining Common Music! How does it compare to OpenMusic, these days?
Is this where the code is? I see nothing related to ASDF there: http://sourceforge.net/p/commonmusic/code/HEAD/tree/trunk/ Regarding ASDF, I propose that you emulate the way cffi-grovel does it. (defclass cm-scheme-file (cl-source-file) ((type :initform "scm"))) (defclass cm-scheme-to-lisp-op (non-propagating-operation)) (defmethod output-files ((o cm-scheme-to-lisp-op) (c cm-scheme-file)) ...) (defmethod perform ((o cm-scheme-to-lisp-op) (c cm-scheme-file)) ...) (defmethod component-depends-on ((o compile-op) (c cm-scheme-file)) `((cm-scheme-to-lisp-op ,c) ,@(call-next-method))) (defmethod input-files ((o compile-op) (c cm-scheme-file)) ...) If your scheme to cl transformation itself depends on other files, then instead of non-propagating-operation, make it something appropriate, i.e. a selfward-operation on prepare-cm-scheme-to-lisp-op or something. —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org drug, n: A substance that, injected into a rat, produces a scientific paper. On Thu, Aug 14, 2014 at 12:41 PM, Ralf Mattes <r...@mh-freiburg.de> wrote: > > Hello, dear ASDF developers, > > I'm currently trying to port some old lisp code (Common Music) to > ASDF3[1]. Common Music's source is written in Scheme, the Common Lisp > version is generated from the Scheme code. Unfortunately CM's current > asdf file is littered with executable code (not only compiling inoking > the Scheme->Lisp compiler but also calling (non-portable) shell scripts > etc. This is unfortunate since many asdf operations will trigger this > code. Hence my attempt to rewrite the asdf and transfer the scheme->lisp > part into a second asdf system. Unfortunately I can't find any > documentation on how to implement such a code transformation. I can > create a new component class scheme-file but what methods do I need to > implement? Where can I call the function that actually compiles a scheme > file to lisp (Common Music's scheme->lisp compiler works on files). > > TIA Ralf Mattes > > Footnotes: > [1] my main goal is to make Common Music distributable by quicklisp. > > > _______________________________________________ > Asdf-devel mailing list > Asdf-devel@common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel _______________________________________________ Asdf-devel mailing list Asdf-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel