I also wonder if we should not modify the structure of our build system code. Our different build systems end up calling gnu:gnu-build with a list of phases.
Could this not be done all the time? And then a build system be defined as a list of phases? For instance, trivial-build-system could be the empty list, or better yet, the list containing 'unpack. Then we could always take the #:phases argument of a package and modify it by adding a phase, for instance; this would be easier than taking a #:build argument and modify it, I think. Andreas