GNU bug report logs - #63050
"guix pull" requires graphical libraries

Previous Next

Package: guix;

Reported by: Andreas Enge <andreas <at> enge.fr>

Date: Mon, 24 Apr 2023 10:14:01 UTC

Severity: normal

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Ludovic Courtès <ludo <at> gnu.org>
To: Andreas Enge <andreas <at> enge.fr>
Cc: 63050 <at> debbugs.gnu.org
Subject: bug#63050: Reducing the closure size of Graphviz
Date: Wed, 03 May 2023 21:50:30 +0200
[Message part 1 (text/plain, inline)]
Hey!

Ludovic Courtès <ludo <at> gnu.org> skribis:

> This is apparently coming from Graphviz:
>
> $ guix graph --path guix libx11
> guix <at> 1.4.0-5.286cdf0
> graphviz <at> 2.49.0
> libx11 <at> 1.7.3.1
> $ guix graph --path guix libxt
> guix <at> 1.4.0-5.286cdf0
> graphviz <at> 2.49.0
> libxaw <at> 1.0.14
> libxt <at> 1.2.1
>
> Surprising to me, but apparently it’s been this way from the start,
> commit b1b07d72c755ea314fb0c8333cd88293ee504ce4 (2013!).
>
> Maybe these are optional dependencies?

All the X libraries can be seen in the output of:

  ldd $(guix build graphviz |grep -v 'doc$')/lib/graphviz/libgvplugin_xlib.so

I haven’t checked but I suppose that’s used by ‘xdot’.

We can get an X11-free Graphviz like so:

[Message part 2 (text/x-patch, inline)]
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index 26ee96afd4..3a5d33e662 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -94,16 +94,12 @@ (define-public graphviz
                                   (string-append extdir
                                                  "/libgv_guile.so"))))))))
     (inputs
-     (list libxrender
-           libx11
-           gts
+     (list gts
            gd
            guile-3.0                    ;Guile bindings
-           pango
            fontconfig
            freetype
            libltdl
-           libxaw
            expat
            libjpeg-turbo
            libpng))
[Message part 3 (text/plain, inline)]
The closure size reduction is substantial:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix size graphviz | tail -1
total: 183.6 MiB
$ guix size graphviz | tail -1
total: 242.3 MiB
--8<---------------cut here---------------end--------------->8---

But I suspect we’d still need the full-blown variant for things like
xdot.

Ludo’.

This bug report was last modified 62 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.