Marius Bakke <mba...@fastmail.com> writes:

> Christopher Baines <m...@cbaines.net> writes:
>
>> Ludovic Courtès <l...@gnu.org> writes:
>>
>>> Ludovic Courtès <l...@gnu.org> skribis:
>>>
>>>> The attached patches add a mechanism to patch the Guix source tree, and
>>>> then use that mechanism to add the missing (ice-9 threads) import.  With
>>>> this I can do:
>>>>
>>>>   ./pre-inst-env guix time-machine \
>>>>      --commit=e02c2f85b36ce1c733bd908a210ce1182bdd2560 -- build linux-libre
>>>>
>>>> … which is a simple way to do what the manifest above was about.
>>>
>>> Given the enthusiasm expressed on IRC, I went ahead and pushed.  :-)
>>>
>>>   ff3ca7979e channels: Add patch for <https://bugs.gnu.org/41028>.
>>>   053b10c3ef channels: Add mechanism to patch checkouts of the 'guix 
>>> channel.
>>>   4ba425060a channels: Add 'latest-channel-instance'.
>>>
>>> So… it might be that today is merge day?
>>
>> Wonderful :) I've had a chance to try this out now, and it works. I was
>> able to reconfigure my system.
>>
>> One even more niche issue is that because I'm using this channel in my
>> system configuration, the patching happens as root, but it's the cached
>> channel in my users home directory that's patched. This means that
>> build-self.scm becomes owned by root.
>>
>> I noticed this when I went to pull:
>>
>>   → guix pull --branch=core-updates
>>   Updating channel 'guix' from Git repository at 
>> 'https://git.savannah.gnu.org/git/guix.git'...
>>   guix pull: error: Git error: could not open 
>> '/home/chris/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/build-aux/build-self.scm'
>>  for writing: Permission denied
>>
>>
>> I'm not sure what the neat way of addressing this is, but maybe the file
>> ownership can be recorded prior to patching, and reset afterwards if
>> it's changed.
>
> I took a stab at exactly this:

Awesome, thanks. I haven't tried it, but it looks good :)

Attachment: signature.asc
Description: PGP signature

Reply via email to