My previous patch raised the question about whether it's wise to use something like:: #:phases (alist-replace 'foo (lambda* (#:key #:allow-other-keys #:rest args) (let ((foo (assoc-ref 'foo %standard-phases))) (frobnicate) (apply foo args)))) in recipe arguments, or to just add another phase before the foo phase. There was some concensus that adding another phase before or after was easier to understand (and less verbose), so I went ahead and tried to reformulate the package recipes that did such things. Along the way I "cleaned up" some other things, mostly in the package arguments. I tried not to change anything semantically in the packate definitions, but I did verify that all packages build with these changes. I apologize for the large patch, I couldn't think of any other way to split it up.