Hello Arun, Arun Isaac <arunis...@systemreboot.net> writes:
>> this might have to do with the fact that until recently most Elisp >> projects were organized as a single file of thousands of lines of code >> ;). > > Exactly! :-) > >> I've also factorized out the default args of the include and exclude >> option of the emacs-build-system install phase. Please see the two >> patches attached. > > Thanks! Both patches LGTM. I just have a few doubts and minor comments. > Thanks for the prompt review! >> (define-module (guix build-system emacs) >> + #:use-module ((guix build emacs-build-system) >> + #:select (%default-include %default-exclude)) > > Interesting solution to the problem. I didn't think of this > earlier. Importing host side to build side would be a problem, but you > are importing build side to host side, and I think that's ok. > >> #:use-module (guix store) >> #:use-module (guix utils) >> #:use-module (guix packages) >> @@ -28,7 +30,10 @@ >> #:use-module (srfi srfi-26) >> #:export (%emacs-build-system-modules >> emacs-build >> - emacs-build-system)) >> + emacs-build-system) >> + #:re-export (%default-include ;for convenience >> + %default-exclude)) > > What is this re-export for? ert-runner seems to build fine without > this. I don't understand what you mean by "convenience" here. If you take another look at the second patch I sent, you'll see I build the include argument value of the emacs-build-sysltem by consing the new regexp in front of %default-include instead of building it from scratch. That's what these re-exports are for: they enable their use in gnu/packages/emacs.scm (and anywhere we've imported (guix build-system emacs). > Also, perhaps we should deduplicate default values of arguments in the > gnu-build-system as well. But, I don't know if it is worth deduplicating > simple default values like #t. WDYT? There's not much value in deduplicating simple things such as a boolean flag, but for more complicated ones it could be useful; although it would be very nice if instead of having to do this Scheme/Guile offered something for "querying" the defaults values of function. One could then go and extend the defaults rather than override them them in a similar way to what we can do with records. Maxim