This should be straightforward. You would catch a missing-component
error whose missing-requires
is equal to (asdf:coerce-name "prove")
(the coerce-name
is probably unnecessary), and do the ql:install
as needed and then apply the retry
restart.
On 11 Jun 2019, at 9:43, Mark Evenson wrote:
On Jun 11, 2019, at 14:05, Robert P. Goldman <rpgoldman@sift.net> wrote:
If you prefer, I believe you could bundle prove to avoid the Quicklisp dependency, perhaps as a git submodule…It is certainly a way forward to consider bundling PROVE, but since ABCL
already has a mechanism to install Quicklisp from the network by using its
unique capability to CL:OPEN a given URI, the better way forward might be:
0) improve the handler for the condition to introspect the message from the
condition signalled via ASDF
1) introspect the existence of Quicklisp, installing if not present
(require :abcl-contrib)
(asdf:load-system :quicklisp-abcl)
2) then load and execute ABCL/TEST/ANSI/COMPILED
(asdf:test-system :abcl/test/ansi/compile)
As a first stab, I will remove the reference to PROVE in the abcl.asd
definition, as this shouldn’t be happening as the :DEPENDS-ON (:PROVE) stanza
is a sibling dependency tree as near as I can tell. I should swag [Ionna’s
code][asd-graph] to visualize the dependencies to see if this is indeed the
case.
In any event, I *really8* don’t want to mess with git submodules: I’d add a “vendor”
directory before submitting to that mess of a lack of engineering…
[asd-graph]: https://gitlab.common-lisp.net/idimitriou/asd-graph
--
"A screaming comes across the sky. It has happened before but there is nothing
to compare to it now."