bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#27222: [PATCH] emacs-build-system install phase doesn't honor direct


From: Maxim Cournoyer
Subject: bug#27222: [PATCH] emacs-build-system install phase doesn't honor directory hierarchy
Date: Mon, 05 Jun 2017 07:54:38 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Hello Arun,

Arun Isaac <address@hidden> 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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]