On 20.09.19 20:48, Svante Signell wrote: > find /gnu/store -name "make-bootstrap.scm"|grep guix-packages- > source/gnu/packages|wc -l > 12 > Which one to patch?? > There are also .cache files... > > Confusing as ever. Seem like the time to learn will be long!
The /gnu/store is read-only, you should not patch something in there. If I got your situation correctly you need to do the following steps. 1. Obtain the guix git repo git clone https://git.savannah.gnu.org/git/guix.git cd guix/ patch the files you need to patch 2. Get an environment with the dependencies of guix. - the most simple way is to install guix itself from a binary. See https://guix.gnu.org/manual/en/html_node/Binary-Installation.html#Binary-Installation and then use the `guix environment` feature. After you installed guix successfull, just do inside your guix git repo: guix environment guix - the other way is to get the dependencies from your distribution. For openSUSE Tumbleweed this would be: sudo zypper addrepo https://download.opensuse.org/repositories/home:/jbrielmaier:/guix/openSUSE_Tumbleweed/home:jbrielmaier:guix.repo sudo zypper refresh sudo zypper source-install --build-deps-only guix 3. Now you have the dependencies for building your patched guix from source. Inside the guix git repo do: ./bootstrap ./configure --localstatedir=/var make 4. Now there is guix with the changes you patched in this git repo. You can use it simply by using the pre-inst-env script: ./pre-inst-env guix build stuff-for-hurd-which-need-this-patch You know can just patch files in the guix git repo. This will directly be "visible" in ./pre-inst-env guix. So you don't need to do step 3 all the time :) I hope this helps Jonathan