I just noticed that I made a mistake in commit d8a3b1b9e847d4a44d2695f95af77170d4d2788f, which changed 'gnu-build' in (guix build gnu-build-system) to issue a warning if a phase returns a value other than #t.
The result is that if a phase returns a value other than #t, a warning is issued, but the build nonetheless continues to the next phase, and the build could ultimately "succeed" even some phases returned #f. In other words, the return values of phases are effectively ignored, except for the warning, so the only way to cause a build with phases to fail is to raise an exception. We can't fix this problem without a full rebuild. Sorry about that :-( The only good news here is that I've already fixed all of the core packages to return #t from all phases and to report errors using exceptions. Ditto for all of the packages that I use on my GNOME desktop. The remaining packages that might return #f from a phase could be fixed in 'master'. Mark