On Tue, 29 Aug 2017 11:55:08 +0530 Arun Isaac wrote: > Christopher Baines writes: > > > Modify the install phase to detect when nothing has been installed, > > and error if this happens. This is preferable to continuing, and > > allowing the next phase to fail. > > > > Also, when nothing can be found to be installed, print out each > > file that was considered, along with the regular expressions that > > were used to include and exclude it. > > > > * gnu/build/emacs-build-system.scm (install-file?): Add additional > > error checking and logging. > > --- > > guix/build/emacs-build-system.scm | 45 > > ++++++++++++++++++++++++++++----------- 1 file changed, 32 > > insertions(+), 13 deletions(-) > > I feel that this adds a lot of complexity (lines of code) to the > emacs-build-system checking for an error that can be quite easily > identified and fixed otherwise. > > WDYT? Maybe, others can comment on this as well. In my personal experience, I didn't find this easy to identify and fix. For packaging emacs-minitest, I ended up writing this to pin down why the emacs-build-system wasn't installing the key file. I think validating that something has been installed is really important, as otherwise the later phases fail in a very unclear way. The extra functionality about explaining why each file hasn't been installed is useful for debugging, and I agree that it adds significant complexity. But, I'd like for packaging emacs things to be really easy in the general case, and I think making the build system more helpful when it fails is one way to improve this. I wouldn't like to expect that you'd need to read the implementation of the build system, or add in your own debugging code just to package a emacs module.