I like the portable getenv implementation - Not having that available is why my proposal uses a logical pathname so that one can define the temporary directory easily from the outside.
Both asdf and xcvb-driver export getenv.
Then again, I'm not sure that Alexandria should include loads of implementation specific switches. It might then be better to combine a cross-implementation getenv and the temporary file handling stuff into a trivial-temporary-file library and let Quicklisp do the rest.
If you're unwilling to handle non-trivial system dependencies in alexandria, then maybe alexandria is not the place for this particular piece of code. Osicat, iolib (why do we need two such libraries?) might be better suited, or you could use xcvb-driver that exports this piece of functionality.
OT: Zach, I made many related changes in asdf, fare-utils, xcvb, recently, and pushed working combinations yesterday. I also still haven't implemented self-upgrade of xcvb, which is required in case the cached xcvb executable is older than your xcvb driver needs. But at least, it will error out loudly now.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Not all Law is created equal before Man. Some Law causes least conflict and least perverse incentives. By definition we call it Natural Law.