Note that all these examples assume portaCL has already been loaded. A real .ASD would almost certainly have to specify
(asdf:oos 'asdf:load-op :portaCL) before the defsystem form. Also note that I have not tested these changes in every implementation each library purports to support, so the hairier conversions may not be perfect.
Straightforward .ASD Conversion
- The port-file ASDF component.
- The port-module ASDF component, and specifying a dependency on it.
- Using :not-found-condition to specify a missing file as being okay.
- A trivial example.
Hairy .ASD Conversion
- The otherwise messy usocket.asd is greatly simplified, but uses :alternate-file to specify an edge case.
- acl-compat is able to entirely eliminate it's own unportable-cl-source-file, but the resulting reorganization forces the creation of nearly-duplicate port-modules, and plenty of reader conditionals continue to abound.