unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>
To: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Cc: help-guix@gnu.org,  Adrien 'neox' Bourmault <neox@gnu.org>
Subject: Re: Guix as a non-optional dependency in another project, and Guix resources requirements.
Date: Wed, 27 Mar 2024 12:22:40 +0100	[thread overview]
Message-ID: <87v857kjgf.fsf@pelzflorian.de> (raw)
In-Reply-To: <20240327022847.7b3376b9@primary_laptop> (Denis Carikli's message of "Wed, 27 Mar 2024 02:28:47 +0100")

Hi there.  Some corrections.

Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> writes:
> On Mon, 25 Mar 2024 18:34:18 +0100
> "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> wrote:
>> Hello, what you intend does sound very interesting.  As for “guix
>> time-machine”, I do not see the problem [...]
> Let's say a user install Guix 1.4.0 and GNU Boot use a guix commit after
> v1.4.0, as I understand guix time-machine will fail.

No, it does not fail.

I just tried from a pre-v1.4.0 installer to time-machine
--commit=9f11c33b6d2c16e710fa2ef3c74f985e2b885350,

commit 9f11c33b6d2c16e710fa2ef3c74f985e2b885350
Author: Sou Bunnbu (宋文武) <iyzsong@gmail.com>
Date:   Sat Mar 16 13:14:37 2024 +0800

    gnu: Add logtalk.
    
    * gnu/packages/prolog.scm (logtalk): New package.
    
    Change-Id: I99e04e70b32c498b5da1f094752279e4668f3865

I can run logtalk binaries.


>> I do not know, but maybe the Autotools of Guix itself use something
>> like this to deal with “make -j4”.
> My question was more about the user interface and if it was the right
> thing to do. As for the code implementing it[1], it was pretty easy to
> do for me and it integrates fine with the current GNU Boot structure: if
> users run './autogen.sh && ./configure' they can still use the scripts
> manually, so this avoids too much invasive changes.

So from reading the Guix build machinery, Makefile.am runs

https://git.savannah.gnu.org/cgit/guix.git/plain/build-aux/compile-all.scm

and they use (getenv "MAKEFLAGS") to check if make gets any --jobserver
flag that specifies the number of parallel compilations.  This seems
slightly nicer than a non-standard configure option, but is also more
complicated in that Makefile.am calls out to compile-all.scm to do the
work.

Presumably Guix developers like writing Scheme more than writing shell
scripts.


> And we also already merged code to update Guix:
> https://git.savannah.gnu.org/cgit/gnuboot.git/tree/resources/dependencies/guix
> https://git.savannah.gnu.org/cgit/gnuboot.git/tree/resources/scripts/misc/guix.sh
> but this is not run automatically, and not mentioned in the
> documentation either. So users that know about it could run it manually
> but that's pretty much it.

Yes, I read in your scripts you check the Guix caches.  Of course guix
shell and time-machine modify not only the store but also the caches,
I’ve said it wrong.

But GNU Boot calling “guix time-machine” and thereby modifying the user
.cache directory is OK, in my opinion.

Why do you need so many different Guix versions?  Are there regressions
or is it just that you have tried building different parts of Libreboot
with different versions of Guix?


> And the idea is to try to integrate Guix as a required dependency with
> the least amount of changes. So it will probably be done to build some
> tools first like with this branch:
> https://git.savannah.gnu.org/cgit/gnuboot.git/log/?h=GNUtoo/guix-configure

That is, you move Libreboot’s build system stepwise towards using guix
build instead.  Sounds good from outside; I have not perused all the
links throughly.  It is very interesting, though.

Regards,
Florian


  reply	other threads:[~2024-03-27 12:18 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-16  1:03 Guix as a non-optional dependency in another project, and Guix resources requirements Denis 'GNUtoo' Carikli
2024-03-20 12:15 ` pelzflorian (Florian Pelz)
2024-03-21 16:26   ` Adrien 'neox' Bourmault
2024-03-21 16:35     ` Adrien 'neox' Bourmault
2024-03-22  0:16       ` Denis 'GNUtoo' Carikli
2024-04-08 15:52         ` Andreas Enge
2024-04-08 20:32           ` Felix Lechner via
2024-04-11 15:36             ` Andreas Enge
2024-04-11 17:32               ` Felix Lechner via
2024-04-09  9:33           ` pelzflorian (Florian Pelz)
2024-04-09 12:23             ` Felix Lechner via
2024-03-22  0:52   ` Denis 'GNUtoo' Carikli
2024-03-22  9:17     ` pelzflorian (Florian Pelz)
2024-03-25  0:26       ` Denis 'GNUtoo' Carikli
2024-03-25 17:34         ` pelzflorian (Florian Pelz)
2024-03-27  1:28           ` Denis 'GNUtoo' Carikli
2024-03-27 11:22             ` pelzflorian (Florian Pelz) [this message]
2024-04-01 22:02               ` Denis 'GNUtoo' Carikli
2024-05-06 12:34 ` Simon Tournier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87v857kjgf.fsf@pelzflorian.de \
    --to=pelzflorian@pelzflorian.de \
    --cc=GNUtoo@cyberdimension.org \
    --cc=help-guix@gnu.org \
    --cc=neox@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).