[Asdf-devel] converting asdf build & test to Lisp

Faré fahree at gmail.com
Sat May 31 11:51:10 UTC 2014


On Sat, May 31, 2014 at 3:28 AM, Kambiz Darabi <darabi at m-creations.com> wrote:
> Trying to set up a build environment for the minimakefile branch, I also
> had to hunt the dependencies.
>
Same dependencies.

>> It was already difficult for me using the bump script, but most of the
>> makefile required only ASDF and a standard Linux or Mac +
>> MacPorts|Homebrew install. I'm just worried about circular dependencies
>> if we need to get a bunch of CL libraries to make this turn over.
>
> Would you consider using git subtree?
>
I'm no maintainer anymore, but I would recommend strongly against it
in the main asdf git repo. We really really REALLY REALLY
*R*E*A*L*L*Y* don't want people who checkout asdf to "magically" get
incompatible versions of libraries they don't want being pulled in
that they can't easily ignore in their configurations.

On the other hand, that might be a great idea for another repo, say
asdf-test, that could be hosted alongside asdf, and would use e.g. git
submodule or subtree to pull asdf and all its test-time dependencies
(they are required neither for building nor for running, only for test
and release).

> The dependencies can live in a vendor subdir but are part of the repo,
> which means that they don't have to be pulled in with a separate
> checkout step (as is the case with git submodule).
>
> It is even possible to 'splice out' changes to the dependencies
> (e.g. bugfixes) and push them to their respective git repos.
>
> The downside is that dependencies which are not maintained in git repos
> would need a git mirror.
>
> I performed the corresponding commands for
>
> - inferior-shell
> - cl-ppcre
> - lisp-invocation
>
There are many more transitive dependencies. Just you try

CL-USER> (asdf:make :asdf-tools) (asdf:registered-systems)

You get:

("asdf/prelude" "asdf/driver" "asdf/defsystem" "asdf" "asdf-tools"
"inferior-shell"
 "inferior-shell/test" "alexandria" "optima" "closer-mop" "fare-utils"
 "fare-quasiquote-extras" "fare-quasiquote-optima" "fare-quasiquote"
 "fare-quasiquote-readtable" "named-readtables" "named-readtables-test"
 "fare-mop" "cl-ppcre" "cl-ppcre-test" "lisp-invocation")

That's code from 11 different repos, including asdf.

> which you can find in the lib/ dir in
>
> https://github.com/darabi/asdf/commits/minimakefile
>
> I use git subtree quite often and find it is a good way of keeping
> dependencies in one repo, if it is necessary.
>
We conspicuously do NOT want that in the asdf repo —
but a *new* repo that uses git submodule (or subtree?) is most welcome.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
An apple every eight hours will keep three doctors away.




More information about the asdf-devel mailing list