unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* %base-packages and default grub theme depend on rust
@ 2024-01-15  3:24 Vagrant Cascadian
  2024-01-15 17:39 ` kiasoc5
  2024-01-29 16:36 ` Ludovic Courtès
  0 siblings, 2 replies; 7+ messages in thread
From: Vagrant Cascadian @ 2024-01-15  3:24 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2105 bytes --]

So, I stumbled a bit with a fairly recently installed aarch64/arm64
system. The install went fine late December, but then I tried "guix
system reconfigure" a couple days ago, and even though it is a very
simple configuration (based on bare-bones.tmpl with grub-efi)... it
pretty much needed to rebuild about 12 rust versions, as no substitutes
were available on aarch64-linux. *sigh*

I thought I tracked this down to guix-icons depending on librsvg, which
depends on rust... and guix-icons is in %base-packages.

So I dropped use of %base-packages-artwork, which pulls in guix-icons
and used all the various other %base-packages-* stuff explicitly... but
it still wanted to pull in guix-icons/librsvg/rust-* etc ... it just did
so later in the build process... foiled again!

This is because the default grub theme generates a .png from an .svg
... using guile-rsvg, which uses librsvg, which uses rust ...

But this machine just has a serial console, and has no need of a
background image in the grub configuration...

So eventually I figured out how to get a grub theme without a background
image and drop guix-icons from the configuration by avoiding use of
%base-packages-artwork:

   (bootloader (bootloader-configuration
+                (theme (grub-theme (image #f)))
                 (bootloader grub-efi-bootloader)
                 (targets '("/boot/efi"))))

-  (packages (cons screen %base-packages))
+  (packages (append (list screen nss-certs)
+          %base-packages-interactive
+          %base-packages-linux
+          %base-packages-networking
+          %base-packages-utils))

Maybe these is a more elegant way of doing this.


So, the example bare-bones system configuration does seems to have heavy
layers of rust obscuring the bones.

Do we want a really-quite-bare-bones configuration example?
Should guix-icons not actually be in %base-packages?
Can the grub theme be implemented differently without requiring rust?


This seems like possibly a discussion so far, but I would also be happy
to turn this into a bug report if desired!


Thanks everyone!


live well,
  vagrant

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: %base-packages and default grub theme depend on rust
  2024-01-15  3:24 %base-packages and default grub theme depend on rust Vagrant Cascadian
@ 2024-01-15 17:39 ` kiasoc5
  2024-01-29 16:36 ` Ludovic Courtès
  1 sibling, 0 replies; 7+ messages in thread
From: kiasoc5 @ 2024-01-15 17:39 UTC (permalink / raw)
  To: Vagrant Cascadian, guix-devel

Hi Vagrant,

On 1/14/24 22:24, Vagrant Cascadian wrote:
> So, I stumbled a bit with a fairly recently installed aarch64/arm64
> system. The install went fine late December, but then I tried "guix
> system reconfigure" a couple days ago, and even though it is a very
> simple configuration (based on bare-bones.tmpl with grub-efi)... it
> pretty much needed to rebuild about 12 rust versions, as no substitutes
> were available on aarch64-linux. *sigh*
> 
> I thought I tracked this down to guix-icons depending on librsvg, which
> depends on rust... and guix-icons is in %base-packages.
> 
> So I dropped use of %base-packages-artwork, which pulls in guix-icons
> and used all the various other %base-packages-* stuff explicitly... but
> it still wanted to pull in guix-icons/librsvg/rust-* etc ... it just did
> so later in the build process... foiled again!
> 
> This is because the default grub theme generates a .png from an .svg
> ... using guile-rsvg, which uses librsvg, which uses rust ...
> 
> But this machine just has a serial console, and has no need of a
> background image in the grub configuration...
> 
> So eventually I figured out how to get a grub theme without a background
> image and drop guix-icons from the configuration by avoiding use of
> %base-packages-artwork:
> 
>     (bootloader (bootloader-configuration
> +                (theme (grub-theme (image #f)))
>                   (bootloader grub-efi-bootloader)
>                   (targets '("/boot/efi"))))
> 
> -  (packages (cons screen %base-packages))
> +  (packages (append (list screen nss-certs)
> +          %base-packages-interactive
> +          %base-packages-linux
> +          %base-packages-networking
> +          %base-packages-utils))
> 
> Maybe these is a more elegant way of doing this.
> 
> 
> So, the example bare-bones system configuration does seems to have heavy
> layers of rust obscuring the bones.
> 
> Do we want a really-quite-bare-bones configuration example?
> Should guix-icons not actually be in %base-packages?
> Can the grub theme be implemented differently without requiring rust?

At least a PNG copy of the SVG could be created ahead of time without 
having to use librsvg to convert it.

> This seems like possibly a discussion so far, but I would also be happy
> to turn this into a bug report if desired!
> 
> 
> Thanks everyone!
> 
> 
> live well,
>    vagrant



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: %base-packages and default grub theme depend on rust
  2024-01-15  3:24 %base-packages and default grub theme depend on rust Vagrant Cascadian
  2024-01-15 17:39 ` kiasoc5
@ 2024-01-29 16:36 ` Ludovic Courtès
  2024-02-08 12:33   ` Efraim Flashner
  1 sibling, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2024-01-29 16:36 UTC (permalink / raw)
  To: Vagrant Cascadian; +Cc: guix-devel

Hi,

Vagrant Cascadian <vagrant@debian.org> skribis:

> This is because the default grub theme generates a .png from an .svg
> ... using guile-rsvg, which uses librsvg, which uses rust ...

How about using a guile-rsvg variant that depends on ‘librsvg-2.40’, the
last version written in C?

That’s easy to do and would address the immediate problem.

Ludo’.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: %base-packages and default grub theme depend on rust
  2024-01-29 16:36 ` Ludovic Courtès
@ 2024-02-08 12:33   ` Efraim Flashner
  2024-02-08 14:54     ` Janneke Nieuwenhuizen
  2024-02-29  7:28     ` Efraim Flashner
  0 siblings, 2 replies; 7+ messages in thread
From: Efraim Flashner @ 2024-02-08 12:33 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Vagrant Cascadian, guix-devel

[-- Attachment #1: Type: text/plain, Size: 752 bytes --]

On Mon, Jan 29, 2024 at 05:36:52PM +0100, Ludovic Courtès wrote:
> Hi,
> 
> Vagrant Cascadian <vagrant@debian.org> skribis:
> 
> > This is because the default grub theme generates a .png from an .svg
> > ... using guile-rsvg, which uses librsvg, which uses rust ...
> 
> How about using a guile-rsvg variant that depends on ‘librsvg-2.40’, the
> last version written in C?
> 
> That’s easy to do and would address the immediate problem.

I bet we could switch it to use guile-cairo. Also, is guile-png too low
level?

-- 
Efraim Flashner   <efraim@flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: %base-packages and default grub theme depend on rust
  2024-02-08 12:33   ` Efraim Flashner
@ 2024-02-08 14:54     ` Janneke Nieuwenhuizen
  2024-02-29  7:28     ` Efraim Flashner
  1 sibling, 0 replies; 7+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-02-08 14:54 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Vagrant Cascadian, guix-devel

Efraim Flashner writes:

Hi,

> On Mon, Jan 29, 2024 at 05:36:52PM +0100, Ludovic Courtès wrote:
>> Hi,
>> 
>> Vagrant Cascadian <vagrant@debian.org> skribis:
>> 
>> > This is because the default grub theme generates a .png from an .svg
>> > ... using guile-rsvg, which uses librsvg, which uses rust ...
>> 
>> How about using a guile-rsvg variant that depends on ‘librsvg-2.40’, the
>> last version written in C?
>> 
>> That’s easy to do and would address the immediate problem.
>
> I bet we could switch it to use guile-cairo. Also, is guile-png too low
> level?

That would be nice.

FWIW, I shortly attempted to get rid of rust for building a hurd-vm on
my `wip-sans-rust' branch, branched off core-updates

    https://gitlab.com/janneke/guix/-/commits/wip-sans-rust/?ref_type=heads

    a7b2251c6e gnu: grub-minimal: Remove rust dependency.
    6406eefe2a gnu: libsoup-minimal: Remove rust dependency.
    753c872fb7 squash! gnu: qemu-minimal: Remove rust dependency.
    417cbc8aa7 gnu: qemu-minimal: Remove rust dependency.
    f3b5d38664 gnu: guix-icons: Remove rust dependency.
    adf9ceeb2f gnu: Add guile-rsvg-sans-rust.

but didn't get anywhere really in the end.

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: %base-packages and default grub theme depend on rust
  2024-02-08 12:33   ` Efraim Flashner
  2024-02-08 14:54     ` Janneke Nieuwenhuizen
@ 2024-02-29  7:28     ` Efraim Flashner
  2024-02-29  8:11       ` Janneke Nieuwenhuizen
  1 sibling, 1 reply; 7+ messages in thread
From: Efraim Flashner @ 2024-02-29  7:28 UTC (permalink / raw)
  To: Ludovic Courtès, Vagrant Cascadian, guix-devel

[-- Attachment #1: Type: text/plain, Size: 1095 bytes --]

On Thu, Feb 08, 2024 at 02:33:35PM +0200, Efraim Flashner wrote:
> On Mon, Jan 29, 2024 at 05:36:52PM +0100, Ludovic Courtès wrote:
> > Hi,
> > 
> > Vagrant Cascadian <vagrant@debian.org> skribis:
> > 
> > > This is because the default grub theme generates a .png from an .svg
> > > ... using guile-rsvg, which uses librsvg, which uses rust ...
> > 
> > How about using a guile-rsvg variant that depends on ‘librsvg-2.40’, the
> > last version written in C?
> > 
> > That’s easy to do and would address the immediate problem.
> 
> I bet we could switch it to use guile-cairo. Also, is guile-png too low
> level?

My experiments with this didn't show it as possible.

I like vagrant's idea about using the older librsvg for the guile-rsvg
used here, or just pre-generating the png itself and adding it to the
guix-artwork repo and using it from there.


-- 
Efraim Flashner   <efraim@flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: %base-packages and default grub theme depend on rust
  2024-02-29  7:28     ` Efraim Flashner
@ 2024-02-29  8:11       ` Janneke Nieuwenhuizen
  0 siblings, 0 replies; 7+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-02-29  8:11 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Vagrant Cascadian, guix-devel

Efraim Flashner writes:

> On Thu, Feb 08, 2024 at 02:33:35PM +0200, Efraim Flashner wrote:
>> On Mon, Jan 29, 2024 at 05:36:52PM +0100, Ludovic Courtès wrote:
>> > Hi,
>> > 
>> > Vagrant Cascadian <vagrant@debian.org> skribis:
>> > 
>> > > This is because the default grub theme generates a .png from an .svg
>> > > ... using guile-rsvg, which uses librsvg, which uses rust ...
>> > 
>> > How about using a guile-rsvg variant that depends on ‘librsvg-2.40’, the
>> > last version written in C?
>> > 
>> > That’s easy to do and would address the immediate problem.
>> 
>> I bet we could switch it to use guile-cairo. Also, is guile-png too low
>> level?
>
> My experiments with this didn't show it as possible.
>
> I like vagrant's idea about using the older librsvg for the guile-rsvg
> used here, or just pre-generating the png itself and adding it to the
> guix-artwork repo and using it from there.

FWIW, I tried to take a stab at this and made some progress
https://gitlab.com/janneke/guix/-/commits/wip-sans-rust/

--8<---------------cut here---------------start------------->8---
gnu: grub-minimal: Remove rust dependency.
gnu: libsoup-minimal: Remove rust dependency.
squash! gnu: qemu-minimal: Remove rust dependency.
gnu: qemu-minimal: Remove rust dependency.
gnu: guix-icons: Remove rust dependency.
gnu: Add guile-rsvg-sans-rust.
--8<---------------cut here---------------end--------------->8---

but qemu-minimal is kinda obnoxious to build without documentation
(which depends on rust!).

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-02-29  8:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-15  3:24 %base-packages and default grub theme depend on rust Vagrant Cascadian
2024-01-15 17:39 ` kiasoc5
2024-01-29 16:36 ` Ludovic Courtès
2024-02-08 12:33   ` Efraim Flashner
2024-02-08 14:54     ` Janneke Nieuwenhuizen
2024-02-29  7:28     ` Efraim Flashner
2024-02-29  8:11       ` Janneke Nieuwenhuizen

Code repositories for project(s) associated with this public inbox

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

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).