guix-devel
[Top][All Lists]
Advanced

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

Re: Status update+patches:Re: I managed to build guix natively on Debian


From: Jonathan Brielmaier
Subject: Re: Status update+patches:Re: I managed to build guix natively on Debian GNU/Hurd , what's next?
Date: Fri, 20 Sep 2019 21:12:40 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0

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



reply via email to

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