Open daewok opened 7 years ago
I believe this is fixed on the ASDF side, which re-runs search functions with the primary name if the original name is not found.
That works only if the release containing the system has already been installed.
(updated title and commit message to make it more clear the issue exists when trying to install the systems)
This problem bother me too.
But I've used another approach – patched ql::compute-load-strategy
function like this: https://github.com/40ants/quicklisp-client-fix/blob/master/quicklisp-fix.lisp#L3C8-L3C29
@quicklisp are there any change that some of these approaches will be merged into the upstream?
Or probably we could make a hook instead of ql::compute-load-strategy
which will allow to replace the original function with an alternative?
When using ASDF's package-inferred-system, not all systems are explicitly defined in the .asd file, and therefore do not get picked up during the metadata generation. This makes it impossible to load these subsystems directly (for example: "lil/pure/all").
This patch solves this by trying to find a system in a dist by its primary name (the part before the first slash) if it is not found verbatim. If the minimum ASDF version is upped in the future, I recommend replacing much of this with
asdf:primary-system-name
.