all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: Mathieu Othacehe <m.othacehe@gmail.com>
Cc: guix-devel@gnu.org
Subject: Re: Cross-compilation broken on canonical packages.
Date: Thu, 02 Jan 2020 19:07:00 +0100	[thread overview]
Message-ID: <87blrlu3zv.fsf@gnu.org> (raw)
In-Reply-To: <87tv5gbz0o.fsf@gmail.com> (Mathieu Othacehe's message of "Tue, 31 Dec 2019 10:55:03 +0100")

Hola!

Mathieu Othacehe <m.othacehe@gmail.com> skribis:

>> Two simple solutions here, I think:
>>
>>   1. Make ‘packages’ a thunked field.
>>
>>   2. Stop using ‘canonical-package’ altogether in ‘%base-packages’.
>>
>> I actually have a preference for #2.  We’d need to check what impact it
>> has on the system closure size, but I suspect it’s going to be minimal.
>>
>> Thoughts?
>
> Option #2 seems nicer. There are other canonical-package calls when
> building services. I have a patch attached that removes all those calls.
>
> The image produced when running "guix system disk-image bare-bones.tmpl"
> increases by:
>
> * 30MB when removing the canonical-package of %base-packages
> * 30MB for all other calls.

OK.  (It may be slightly more accurate to look at the output of:
guix size $(guix system build …).)

> So altogether, that's a 60MB increase on a 1.5GB image (4%). I find it
> acceptable, WDYT?

It’s more than I thought but I think it’s OK.  (Also, how come
bare-bones takes 1.5 GiB?!)

> From a55eb86975c5f1c2783b0af265364821259e3351 Mon Sep 17 00:00:00 2001
> From: Mathieu Othacehe <m.othacehe@gmail.com>
> Date: Tue, 31 Dec 2019 09:56:51 +0100
> Subject: [PATCH] system: Stop using canonical-package.
>
> Usage of canonical-package outside of thunked fields breaks cross-compilation,
> see: https://lists.gnu.org/archive/html/guix-devel/2019-12/msg00410.html.
>
> * gnu/installer.scm (installer-program): Remove canonical-package.
> * gnu/services/base.scm (<nscd-cache>): Ditto,
> (%base-services): ditto.
> * gnu/services/xorg.scm: Remove useless canonical-package import.
> * gnu/system.scm (%base-packages): Remove canonical-package.
> * gnu/system/install.scm (%installation-services): Ditto,
> (installation-os): ditto.
> * gnu/system/locale.scm (single-locale-directory): Ditto,
> (%default-locale-libcs): ditto.

[...]

> --- a/gnu/system/locale.scm
> +++ b/gnu/system/locale.scm
> @@ -86,7 +86,7 @@ or #f on failure."
>       #f)))
>  
>  (define* (single-locale-directory locales
> -                                  #:key (libc (canonical-package glibc)))
> +                                  #:key (libc glibc))
>    "Return a directory containing all of LOCALES for LIBC compiled.
>  
>  Because locale data formats are incompatible when switching from one libc to
> @@ -147,7 +147,7 @@ data format changes between libc versions."
>  
>  (define %default-locale-libcs
>    ;; The libcs for which we build locales by default.
> -  (list (canonical-package glibc)))
> +  (list glibc))

I would leave this bit unchanged if possible, because that way the glibc
used would really match that programs are linked against.

The rest LGTM, thanks!

Ludo’.

  reply	other threads:[~2020-01-02 18:07 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-14 11:49 Cross-compilation broken on canonical packages Mathieu Othacehe
2019-12-14 11:52 ` Mathieu Othacehe
2019-12-19 16:48   ` Ludovic Courtès
2019-12-22 16:31     ` Mathieu Othacehe
2019-12-30 18:48       ` Ludovic Courtès
2019-12-31  9:55         ` Mathieu Othacehe
2020-01-02 18:07           ` Ludovic Courtès [this message]
2020-01-02 22:00             ` Mathieu Othacehe
2020-01-03 12:03               ` Mathieu Othacehe
2020-02-11 13:01                 ` Mathieu Othacehe
2020-02-11 14:04                   ` Ludovic Courtès
2020-02-12 10:20                     ` Mathieu Othacehe
2020-02-24 16:11                       ` Ludovic Courtès
2020-03-06  9:19                         ` Mathieu Othacehe

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

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

  git send-email \
    --in-reply-to=87blrlu3zv.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=m.othacehe@gmail.com \
    /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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.