Another issue, Andy, is with the new `normalize-dependency' function that adds support for the dependency syntax as specified by the ASDF grammar. I think your approach is good but it fails for `jpl-queues` because it produces the following .asd file in the store: --8<---------------cut here---------------start------------->8--- (asdf:defsystem "jpl-queues" :class asdf/bundle:prebuilt-system :version "0.1" :depends-on ("bordeaux-threads" (:version "jpl-util" "0.2")) :components ((:compiled-file "jpl-queues--system"))) (progn (asdf/source-registry:ensure-source-registry) (setf (gethash "bordeaux-threads" asdf/source-registry:*source-registry*) #p "/gnu/store/67dhvxva7345r2xijz9yqp94s0fslrpn-sbcl-bordeaux-threads-0.8.5-1.354abb0/share/common-lisp/sbcl-bundle-systems/bordeaux-threads.asd")) --8<---------------cut here---------------end--------------->8--- Note that jpl-util is missing from the registry link list. It turns out that it fails because the match-lambda you've used to implement the standard are case-sensitive, while the standard is case-insensitive. Adn... jpl-queues uses ":VERSION" and not ":version" as you expected :( I think the simple fix would be to make the two match-lambda case-insensitive (both in generate-dependency-links and in make-asd-file). What do you think? -- Pierre Neidhardt https://ambrevar.xyz/