[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#67822] [PATCH v3] gnu: maths: petsc: Reduce closure size.
From: |
Ludovic Courtès |
Subject: |
[bug#67822] [PATCH v3] gnu: maths: petsc: Reduce closure size. |
Date: |
Mon, 08 Jan 2024 18:20:07 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hi,
Efraim Flashner <efraim@flashner.co.il> skribis:
> On Fri, Jan 05, 2024 at 12:52:02PM +0100, Lars Bilke wrote:
>> Hi Ludo,
>>
>> On 5 Jan 2024, at 12:08, Ludovic Courtès wrote:
>>
>> > Can we instead patch the thing that creates ‘petscvariables’ in the
>> > first place?
>> >
>> > The reason I’m suggesting it is because in general we avoid hardcoding
>> > /gnu/store in substitution patterns because it’s possible to configure
>> > Guix with a different store directory.
>>
>> Thanks for your feedback!
>>
>> In v1 of this patch I removed the 'petscvariables'-file completely but this
>> broke dependent packages as well as not-yet packaged projects which use the
>> file for finding the PETSc library and configuriung their build system.
>>
>> Is there a possibility to replace the hard-coded /gnu/store with a variable
>> which evaluates to the current store directory?
>
> There's %store-directory in (guix build utils). In fact, it looks like
> git might have some code that you can borrow.
Yes. However, I think we should use literal strings for patterns in
‘substitute*’. That is, I would avoid:
(substitute* …
(((string-append (%store-directory) "/bin/whatever"))
…))
in favor of, say:
(substitute* …
(("([[:graph:]]+)/bin/whatever")
…))
This is to make things easier to understand, 100% correct (in theory we
should use ‘regexp-quote’ when turning strings into regexps), and to
leave room for how ‘substitute*’ is implemented.
Thanks,
Ludo’.