unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Efraim Flashner <efraim@flashner.co.il>
To: Liliana Marie Prikler <liliana.prikler@gmail.com>
Cc: 51845@debbugs.gnu.org
Subject: [bug#51845] [PATCH 0/2] Add librsvg-bootstrap
Date: Sun, 14 Nov 2021 20:07:01 +0200	[thread overview]
Message-ID: <YZFQRR5PDcnazL04@3900XT> (raw)
In-Reply-To: <68012880ef968bf2d5ab3d7e967b06bafb9ea10f.camel@gmail.com>

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

On Sun, Nov 14, 2021 at 06:27:02PM +0100, Liliana Marie Prikler wrote:
> Hi,
> 
> Am Sonntag, den 14.11.2021, 16:07 +0200 schrieb Efraim Flashner:
> > librsvg is an input for emacs, gtk+@2 and gtk+@3. With the rust
> > inputs this leads to (unknown) rust libraries causing the rebuild of
> > over 3000 packages on core-updates-frozen. Rather than hunt them down
> > I tracked down the packages which would have many rebuilds and added
> > a copy of librsvg for them to use.
> In my opinion, one of the selling points of Guix is that of
> bootstrappability.  I don't think adding big blobs to Emacs of all
> things is a great way of delivering on that promise.  I think we ought
> to rather "invest" in alternatives to Rust and Rust-locked libraries or
> make Rust packaging itself sane (if it can at all).
> 
> I think librsvg is optional already and people who want to save on
> compilation time can decide to replace it with e.g. GNU hello using the
> --input option.  In the similar case of mozjs, a replacement with
> duktape is discussed on guix-devel, at least for polkit.

It seems I was wrong about emacs; both emacs-minimal and emacs-no-x are
built without librsvg.

> As a temporary resolution to the rebuild issue, we could pin the
> dependencies of librsvg to some specific versions and only bump them
> when something awful happens.  I'm not sure whether librsvg exposes any
> of the Rust nastiness to its dependencies, ideally hoping that it would
> not.

I don't believe librsvg exposes any rust-y stuff.

> WDYT?

(ins)efraim@3900XT /tmp/librsvg-2.50.7$ ls vendor/ | wc -l
226

There are 226 crates that upstream bundles with their source. I suppose
we could pare it down to about 200 by careful pruning but it's part of
librsvg and not going away.

(ins)efraim@3900XT ~/workspace/guix-core-updates$ git grep \,librsvg | wc -l
103

I'm suggesting that for gtk+@2 and gtk+@3 we use the bundled crates and
for the other 101 packages we continue to use our current version, where
we replace all of the bundled crates with our own copies, which get
updated more often than librsvg does.

With our current rust tooling I don't think it'd be that easy to find
the ~226 crates that librsvg depends on, and it wouldn't be great to
lock them due to librsvg being an input for gtk2/3.

-- 
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 --]

  reply	other threads:[~2021-11-14 18:08 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-14 14:07 [bug#51845] [PATCH 0/2] Add librsvg-bootstrap Efraim Flashner
2021-11-14 14:14 ` [bug#51845] [PATCH 1/2] gnu: " Efraim Flashner
2021-11-14 14:14 ` [bug#51845] [PATCH 2/2] gnu: Use librsvg-bootstrap Efraim Flashner
2021-11-14 17:27 ` [bug#51845] [PATCH 0/2] Add librsvg-bootstrap Liliana Marie Prikler
2021-11-14 18:07   ` Efraim Flashner [this message]
2021-11-14 19:05     ` Liliana Marie Prikler
2021-12-06 12:17 ` Ludovic Courtès
2021-12-06 13:06   ` Efraim Flashner
2021-12-06 16:37     ` Ludovic Courtès
2021-12-06 17:02       ` Efraim Flashner
2021-12-06 22:17         ` [bug#51845] Using ‘native-inputs’ and ‘inputs’ for Cargo packages? Ludovic Courtès
2021-12-07 10:11           ` Efraim Flashner
2021-12-07 19:48             ` Ludovic Courtès

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=YZFQRR5PDcnazL04@3900XT \
    --to=efraim@flashner.co.il \
    --cc=51845@debbugs.gnu.org \
    --cc=liliana.prikler@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 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).