Comment 5 for bug 1230368

In 92 lines, I give ASDF support for quick-build style packages, except with ASDF integration, correct timestamp propagation (quick-build has the same bug as all free defsystems until ASDF 2), pathname portability, support for uiop:define-package.

To use package-system, just have foo.asd containing
(defsystem foo :class package-system)
at the top of your quick-build hierarchy $FOODIR
for packages whose name start with "FOO/"
and ASDF will thereafter look for system "foo/bar/baz" in $FOODIR/bar/baz.lisp.

Such a file will implicitly have its own system defined;
its dependencies are computed by scanning the file,
extracting its first defpackage form,
and using the packages it uses or imports from
as a as a specification of what systems it depends on.

You can register packages as belonging to a system with (asdf:register-system-packages my-system '(package1 package2))
Using or importing from a package registered to a given system
will generate a dependency to the registered system.
Using or importing from a packages registered to the constant symbol T
will not generate any dependency.
Using or importing from a packages that is not registered will generate
a dependency on a system the name of which is the package name downcased.
All packages that exist at the time ASDF is initially loaded
are registered to constant symbol T.

Robert: can you review and hopefully pull into the master branch before the next release?

Alastair: can you review and try in your existing system? I understand ASDF is much bigger than quick-build, but it also does much more, including fixing the "usual" defsystem timestamp propagation bug. Plus, your dependencies mean you probably use ASDF anyway (if you so much as require sb-posix, and don't use my SBCL patch, you're loading ASDF).