Marius Bakke writes: > Christopher Baines writes: > >> Ludovic Courtès writes: >> >>> Ludovic Courtès 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 . >>> 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 :)