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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 63050 in the body.
You can then email your comments to 63050 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Mon, 24 Apr 2023 10:14:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Andreas Enge <andreas <at> enge.fr>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Mon, 24 Apr 2023 10:14:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Andreas Enge <andreas <at> enge.fr>
To: bug-guix <at> gnu.org
Subject: "guix pull" requires graphical libraries
Date: Mon, 24 Apr 2023 12:13:31 +0200
While trying out a "guix pull" on an aarch64 machine, for which many
packages are currently not available as substitutes, I notice an extra-
ordinary amount of dependencies, see below (and since I interrupted and
restarted it, there are even more dependencies in reality; I remember
X11 libraries such as libxi and libxt). Many of them are related to
graphical environments, which should not happen for a command line
program. Chances are they are pulled in for building documentation
(not necessarily of Guix, but of packages that are needed for pulling);
but this is still undesirable and should be sorted out.

Actually there is a relatively high risk that on non-x86 machines
"guix pull" will fail due to one of the packages not building.
And then if the packages are fixed, they cannot be pulled...
(but substitutes would still work then).

Andreas


The following derivations will be built:
  /gnu/store/vrzlz31xgsmz05m294maxvkwld98yvwp-profile.drv
  /gnu/store/bmk0f4b0ia9vvm9djkhjp5yiibgiwqkv-guix-827df9d1d.drv
  /gnu/store/75051kjkpqyk63jfcc21jxx6blh1v6xj-guix-command.drv
  /gnu/store/4mpya4wbmid6rxszs6qrlr56hgxpsmzx-guix-module-union.drv
  /gnu/store/81vk2gf0qfz325wk0rdfabpjxkwgnlcx-guile-git-0.5.2.drv
  /gnu/store/k8pg7wpmhzkip9h4x6vw958i81p9rrxd-libgit2-1.3.2.drv
  /gnu/store/w0irp6xn30nlmpizhcbjnvhqmsba41jn-cmake-minimal-3.24.2.drv
  /gnu/store/cqw34xafh837ikspy26787spipggx158-curl-7.85.0.drv
  /gnu/store/mss4yv015cil1vnjnglq506m83b7n3dy-cmake-bootstrap-3.24.2.drv
  /gnu/store/w8qxkrwpffd9qs5w1jggy1yi27ycm0xr-jsoncpp-1.9.5.drv
  /gnu/store/hlscqram59id51hxg0fj15041v52h1kw-meson-1.1.0.drv
  /gnu/store/97ghaxk1q09aqi92x9qg3nwb5vjm22hv-guile-gnutls-3.7.11.drv
  /gnu/store/n1rv809j9jwmax12057l0lcphz4bzi7s-gnulib-2022-12-06-1.440b528.drv
  /gnu/store/0nhbmnck41rl3i8hipkxfcvzyi36wgnr-git-minimal-2.33.1.drv
  /gnu/store/jhi11h8m8i86ivzrmvfhyj4h99rpqb4y-guix-827df9d1d-modules.drv
  /gnu/store/0sivy14wkr7g1wsn2jgyz6dh53883k0h-guix-config-modules.drv
  /gnu/store/1bwjqypxjn3671xmc9b9wh9bfg85nwra-guix-config-source.drv
  /gnu/store/0047yrla9lddhb9c1b4kl4bpd5v9d7ly-config.scm.drv
  /gnu/store/d11yp292a29g2m07xn12s6g2hs6w5rq2-guix-config.drv
  /gnu/store/1qwajh2vs8gmvm882zcw6np48fh7xva8-guix-packages-modules.drv
  /gnu/store/v2790dmh2savq6ddgq0ics8yz9y8ysvq-guix-packages.drv
  /gnu/store/034h41xz3m57gms9mx7yydssa66ns6xa-guix-extra.drv
  /gnu/store/lxanzzz28qk7ypdib5hz8xmibi73g6nv-guile-avahi-0.4.1.drv
  /gnu/store/s2vi6njxmxv4ng78rfdb9xkdiy40fngb-avahi-0.8.drv
  /gnu/store/1liwcy87b3cafm2wwfza5jl9c3xfh3k7-glib-2.72.3.drv
  /gnu/store/7yfb32ngiyx6gsky8ccmaq06qvg9qi8f-dbus-1.14.0.drv
  /gnu/store/0f25lrmw7yc1k9rxxq6af7bjr4kxpi7c-itstool-2.0.7.drv
  /gnu/store/sjj9z6kchsbmzskp5i23blpkj2b9v1na-python-libxml2-2.9.14.drv
  /gnu/store/4axvv1sli67w1jx0c5fxi4369pklby8p-yelp-tools-3.32.2.drv
  /gnu/store/a1y2z3nh0lmbyiddnc5qq92p991vc6fl-yelp-xsl-41.0.drv
  /gnu/store/mzial98cazz0wmigjd0by59ympr62zmv-xmlto-0.0.28.drv
  /gnu/store/r33mnrmy08757czq7x19lbawmngkswb8-docbook-xsl-1.79.2-0.fe16c90.drv
  /gnu/store/ywxvva73z0gmnjbdac9ml3fld4agy7ll-perl-xml-xpath-1.44.drv
  /gnu/store/744pph8mif8911dij1gw838slmgsplr4-perl-path-tiny-0.118.drv
  /gnu/store/nlrv7ll0gdf2k7g0v1g0d2c1sz2ff9pa-perl-unicode-utf8-0.62.drv
  /gnu/store/r84snp03sqlmvssfsa6f3wank4249dbm-perl-test-fatal-0.016.drv
  /gnu/store/rqk2rbnpjpcnqswz8hqari1rnw6r8v1m-doxygen-1.9.5.drv
  /gnu/store/zs50rf9mqd77lf7f7ycwj98mdvm3nwc1-guile-ssh-0.16.3.drv
  /gnu/store/cysfj5rhcnlwnd0skpb8x5cvh320qcpx-libssh-0.10.4.drv
  /gnu/store/kfqkj69hxgdl2yhn27l1cx3v4b83438k-guix-packages-base.drv
  /gnu/store/24bwa2hmiydpjjv58kbnszc67d0063w8-guix-extra-modules.drv
  /gnu/store/cl6757qxk66kpwhhwscwd3z3ir9ylfxy-guix-cli-core-modules.drv
  /gnu/store/fb71xmnmdi506sjjfqvvhk2n4q5nw9b5-guix-cli-core.drv
  /gnu/store/f5p7zbpi3f8bbc1bsdbr293r4p4qlr6k-guix-packages-base-modules.drv
  /gnu/store/gyncf7k5kvwcfbw1dx3jc73n9jmdw3ml-guix-home-modules.drv
  /gnu/store/9m9iiqd2yvlbjnpxzfwfk94bi9i2gj13-guix-home.drv
  /gnu/store/dqjb6lb1m8kaam2klgc44j1g040pr1h4-guix-system.drv
  /gnu/store/i2vpbmmyywk9sd11hl02zfg1nigq0k24-guix-system-tests-modules.drv
  /gnu/store/zm9yhv95zs1j68ypl9kr4gm4bbymgw3m-guix-system-tests.drv
  /gnu/store/ca9k2x3z22dn489g976p31fw8cr05p6s-guix-cli.drv
  /gnu/store/rk24641w60fqddyj0b4lizndcxvrpl45-guix-cli-modules.drv
  /gnu/store/wd94xqha92w7wj75704j48yh17pghv48-guix-system-modules.drv
  /gnu/store/sgyi2j6333mv08r8xxyxhaj47886q3hs-guix-daemon.drv
  /gnu/store/r80zify247zcsxdw1dm6aacr456zqxyf-guix-daemon-1.4.0-5.286cdf0.drv
  /gnu/store/w0ssgndl2aq7xzc3ibbkgg4dpgyf2mxb-guix-manual.drv
  /gnu/store/44l2hp82lmrhmsam320020pvf0wx79gb-guix-translated-texinfo.drv
  /gnu/store/hx8pv27k6r1q5gmdb0zmp9pqqadqp8gh-po4a-0.68.drv
  /gnu/store/04kfwmpg17hxxzq13b9s06zl63zcc706-texlive-fonts-latex-59745.drv
  /gnu/store/2lk5x3aw5vi59dkvf1qd0696fdmirgb7-texlive-bin-20210325.drv
  /gnu/store/1liwcy87b3cafm2wwfza5jl9c3xfh3k7-glib-2.72.3.drv
  /gnu/store/2l7j29ck29dcaaffi659pkpxr9bmp64f-gd-2.3.2.drv
  /gnu/store/dmsa2hy8mp0y8cgidp8mkmh0xlgbyjq8-libjpeg-turbo-2.1.4.drv
  /gnu/store/7lf76zp346d1qnc7i5laa5rwcrvvvyy1-potrace-1.16.drv
  /gnu/store/frc8zyviijzzaxkymjpq7dfz671y4hid-ghostscript-9.56.1.drv
  /gnu/store/qkcykrffj5hqyxvw9inf4ghah1zz29x0-libtiff-4.4.0.drv
  /gnu/store/91mcaq7l6sw788kivrz6577n6p00qm3h-fontforge-20220308.drv
  /gnu/store/68gzjwlzc6jpjylwdv44qh6rf85yivhs-libdatrie-0.2.13.drv
  /gnu/store/dcc68iwnbrgzc5n4h97kypkanp28m9f1-cairo-1.16.0.drv
  /gnu/store/01680manl8hnmqba20j0whsjjiwjvsc0-libdrm-2.4.114.drv
  /gnu/store/0xygchfhdlh9d56mwc4i0f1p6plylfjr-libspectre-0.2.10.drv
  /gnu/store/hy7skak01059cysyanc1pms88m69lp7z-gobject-introspection-1.72.0.drv
  /gnu/store/hz49a5gbwr82c57w4alij2605rf1214f-poppler-22.09.0.drv
  /gnu/store/6nzf6fvv04h147sahrqms7b84xrlmnd1-openjpeg-2.5.0.drv
  /gnu/store/g8i69smy5xn3ncsr9gvzira2wix94gja-lcms-2.13.1.drv
  /gnu/store/87crljzbhi7hnbqxdzq5wzaak7x8mrbx-nss-3.88.1.drv
  /gnu/store/j4z7wjq1l0j3j5mgccw9kacr9m4srpmb-cairo-1.16.0.drv
  /gnu/store/m3yxm0ib9cb0wf43rmi3fbjxfl7q5k9z-pango-1.50.10.drv
  /gnu/store/rfdpb3zb6v3azsr31zqfy12p5wzbfsg3-harfbuzz-5.3.1.drv
  /gnu/store/vjmv0713x8afrjz846fgaqfvm9bc9vzi-graphite2-1.3.13.drv
  /gnu/store/v1llsfvjnhsn31kn15apz8plqgjadrfa-libthai-0.1.29.drv
  /gnu/store/b8fj9n2xxf6lvhs0lihdvfmr72v8fgwv-zziplib-0.13.72.drv
  /gnu/store/7anj075n4l9f3y0ixmhr6x4sfa83dp70-texlive-cm-59745.drv
  /gnu/store/zgqyv9fml11jvzxrv8lcyzziqmf487dj-texlive-metafont-59745.drv
  /gnu/store/2ir50qnqphbrfags4bc8cw612rgi8nzg-texlive-tools-59745.drv
  /gnu/store/a30m07ydkq7j88ssiam7hc8srbdzps6h-texlive-latex-l3packages-59745.drv
  /gnu/store/hb0ln9zgh3g0knql99lh9kwlq4wz3szd-texlive-latex-l3kernel-59745.drv
  /gnu/store/lql7ys16bf3qck2p670y3wpbff0hqn2d-texlive-etex-59745.drv
  /gnu/store/m6k2nx744yn38dbhdqqblzqjcmhdm6ls-texlive-hyph-utf8-59745.drv
  /gnu/store/ihz0r7q4sfavmpnyd31kbngsd80qi6ic-texlive-knuth-lib-59745.drv
  /gnu/store/sabb3gyfgjlh6adhc8451f18197hjpzh-texlive-latex-base-59745.drv
  /gnu/store/srp22bx1xzrz45m9x8fr7aibbfs8mxxc-texlive-dehyph-exptl-59745.drv
  /gnu/store/yqaanhfsmq75znkb39cwpgggwmj019xy-texlive-latex-l3backend-59745.drv
  /gnu/store/5ryjqaiji6f2s6fzqzngdq5hwppfxxgd-texlive-psnfss-59745.drv
  /gnu/store/bxxjwnpp2z046q0w2a6m7sgfsx4mm7ri-texlive-amscls-59745.drv
  /gnu/store/d0hx90i02ra0ivfd6w9hm2zwaain74xr-texlive-babel-59745.drv
  /gnu/store/dclbvkad5iq6jpvhvvnqjmcs3qh7c01r-texlive-tiny-59745.drv
  /gnu/store/jwpqv502nwjbkrdn5av004ri4lbb6ch6-texlive-generic-babel-english-59745.drv
  /gnu/store/k11ia64br72qr69prh993l6hhxnx33hv-texlive-graphics-59745.drv
  /gnu/store/mid7kd1bp7cih7fhdpky17v3r7zpkr5i-texlive-amsmath-59745.drv
  /gnu/store/niylw7hb393w341r048ripagj84fh81a-texlive-latex-cyrillic-59745.drv
  /gnu/store/ixnyrs1sdi30kzr6s4ch8qh73qj34m32-graphviz-7.0.1.drv
  /gnu/store/4xyxa49yjz7ipcmmqwsyw25qgqy5p09p-gts-0.7.6.drv
  /gnu/store/c5sv8041g0kvz82xjvgvmz9f11qlnjmp-swig-4.0.2.drv
  /gnu/store/si6y8qs3lb01h2hmg1p3cgp5zpfr41ki-inferior-script.scm.drv
  /gnu/store/xiwclg882jbg0r7qx5mwivfhnbg0q6w1-profile.drv





Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Tue, 25 Apr 2023 21:49:02 GMT) Full text and rfc822 format available.

Message #8 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Andreas Enge <andreas <at> enge.fr>
Cc: 63050 <at> debbugs.gnu.org
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Tue, 25 Apr 2023 23:48:05 +0200
Hi,

Andreas Enge <andreas <at> enge.fr> skribis:

> While trying out a "guix pull" on an aarch64 machine, for which many
> packages are currently not available as substitutes, I notice an extra-
> ordinary amount of dependencies, see below (and since I interrupted and
> restarted it, there are even more dependencies in reality; I remember
> X11 libraries such as libxi and libxt). Many of them are related to
> graphical environments, which should not happen for a command line
> program. Chances are they are pulled in for building documentation
> (not necessarily of Guix, but of packages that are needed for pulling);
> but this is still undesirable and should be sorted out.

This is apparently coming from Graphviz:

--8<---------------cut here---------------start------------->8---
$ 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
--8<---------------cut here---------------end--------------->8---

Surprising to me, but apparently it’s been this way from the start,
commit b1b07d72c755ea314fb0c8333cd88293ee504ce4 (2013!).

Maybe these are optional dependencies?

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Wed, 26 Apr 2023 07:29:02 GMT) Full text and rfc822 format available.

Message #11 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Enge <andreas <at> enge.fr>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 63050 <at> debbugs.gnu.org
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Wed, 26 Apr 2023 09:28:39 +0200
Am Tue, Apr 25, 2023 at 11:48:05PM +0200 schrieb Ludovic Courtès:
> This is apparently coming from Graphviz
> Surprising to me, but apparently it’s been this way from the start,
> commit b1b07d72c755ea314fb0c8333cd88293ee504ce4 (2013!).
> Maybe these are optional dependencies?

So "guix pull" builds what is defined as the guix package, but with the
current checkout as source?

The package definition of guix has this among the native inputs:
                       ;; XXX: Keep the development inputs here even though
                       ;; they're unnecessary, just so that 'guix environment
                       ;; guix' always contains them.
                       ("autoconf" ,autoconf)
                       ("automake" ,automake)
                       ("gettext" ,gettext-minimal)
                       ("texinfo" ,texinfo)
                       ("graphviz" ,graphviz)
                       ("help2man" ,help2man)
                       ("po4a" ,po4a)))

Maybe these could be dropped then, and we could have an expanded package
guix-devel that would add these inputs for "guix shell -D guix-devel"?

Or is it needed for "guix graph"?
$ guix graph --list-backends
  - graphviz: Generate graph in DOT format for use with Graphviz.
...

But for this we do not need any graphical output, it is just text file
creation; could we have a graphviz-minimal in console mode?

Andreas





Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Wed, 26 Apr 2023 08:46:02 GMT) Full text and rfc822 format available.

Message #14 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: Andreas Enge <andreas <at> enge.fr>, Ludovic Courtès
 <ludo <at> gnu.org>
Cc: 63050 <at> debbugs.gnu.org
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Wed, 26 Apr 2023 10:45:34 +0200
[Message part 1 (text/plain, inline)]
Hi Andreas,

Andreas Enge <andreas <at> enge.fr> writes:

> So "guix pull" builds what is defined as the guix package, but with the
> current checkout as source?

No, guix pull uses (guix self), and the dependencies there are not used
in a singular place like (inputs ...) or (native-inputs ...), but are
peppered throughout the file.  However, it uses a reduced dictionary for
specification->package to speed it up, and so gives a pretty good idea
of what's used:

--8<---------------cut here---------------start------------->8---
(("guile"              . ,(ref 'guile 'guile-3.0-latest))
 ("guile-avahi"        . ,(ref 'guile-xyz 'guile-avahi))
 ("guile-json"         . ,(ref 'guile 'guile-json-4))
 ("guile-ssh"          . ,(ref 'ssh   'guile-ssh))
 ("guile-git"          . ,(ref 'guile 'guile-git))
 ("guile-semver"       . ,(ref 'guile-xyz 'guile-semver))
 ("guile-lib"          . ,(ref 'guile-xyz 'guile-lib))
 ("guile-sqlite3"      . ,(ref 'guile 'guile-sqlite3))
 ("guile-zlib"         . ,(ref 'guile 'guile-zlib))
 ("guile-lzlib"        . ,(ref 'guile 'guile-lzlib))
 ("guile-zstd"         . ,(ref 'guile 'guile-zstd))
 ("guile-gcrypt"       . ,(ref 'gnupg 'guile-gcrypt))
 ("guile-gnutls"       . ,(ref 'tls 'guile-gnutls))
 ("guix-daemon"        . ,(ref 'package-management 'guix-daemon))
 ("disarchive"         . ,(ref 'backup 'disarchive))
 ("guile-lzma"         . ,(ref 'guile 'guile-lzma))
 ("gzip"               . ,(ref 'compression 'gzip))
 ("bzip2"              . ,(ref 'compression 'bzip2))
 ("xz"                 . ,(ref 'compression 'xz))
 ("po4a"               . ,(ref 'gettext 'po4a))
 ("gettext-minimal"    . ,(ref 'gettext 'gettext-minimal))
 ("gcc-toolchain"      . ,(ref 'commencement 'gcc-toolchain))
 ("glibc-utf8-locales" . ,(ref 'base 'glibc-utf8-locales))
 ("graphviz"           . ,(ref 'graphviz 'graphviz))
 ("texinfo"            . ,(ref 'texinfo 'texinfo)))
--8<---------------cut here---------------end--------------->8---


> The package definition of guix has this among the native inputs:
>                        ;; XXX: Keep the development inputs here even though
>                        ;; they're unnecessary, just so that 'guix environment
>                        ;; guix' always contains them.
>                        ("autoconf" ,autoconf)
>                        ("automake" ,automake)
>                        ("gettext" ,gettext-minimal)
>                        ("texinfo" ,texinfo)
>                        ("graphviz" ,graphviz)
>                        ("help2man" ,help2man)
>                        ("po4a" ,po4a)))
>
> Maybe these could be dropped then, and we could have an expanded package
> guix-devel that would add these inputs for "guix shell -D guix-devel"?
>
> Or is it needed for "guix graph"?

No, guix graph uses its own graphviz implementation!  It is used to
generated png files from .dot files while building the documentation.

I don't really know if we can skip graphical libraries for this reason.

Best,
-- 
Josselin Poiret
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Wed, 26 Apr 2023 17:00:02 GMT) Full text and rfc822 format available.

Message #17 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Josselin Poiret <dev <at> jpoiret.xyz>, Andreas Enge <andreas <at> enge.fr>, 
 Ludovic Courtès <ludo <at> gnu.org>
Cc: 63050 <at> debbugs.gnu.org
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Wed, 26 Apr 2023 18:59:44 +0200
Hi folks, just dropping by real quick

Am Mittwoch, dem 26.04.2023 um 10:45 +0200 schrieb Josselin Poiret:
> No, guix graph uses its own graphviz implementation!  It is used to
> generated png files from .dot files while building the documentation.
> 
> I don't really know if we can skip graphical libraries for this
> reason.
Having built glib from scratch more often than is fun, I am quite
certain that the package pulling in our graphics stack is texinfo with
its reference to texlive.

Cheers




Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Wed, 26 Apr 2023 17:26:01 GMT) Full text and rfc822 format available.

Message #20 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Enge <andreas <at> enge.fr>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Cc: Josselin Poiret <dev <at> jpoiret.xyz>, 63050 <at> debbugs.gnu.org,
 Ludovic Courtès <ludo <at> gnu.org>
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Wed, 26 Apr 2023 19:25:15 +0200
Hello,

Am Wed, Apr 26, 2023 at 06:59:44PM +0200 schrieb Liliana Marie Prikler:
> Having built glib from scratch more often than is fun, I am quite
> certain that the package pulling in our graphics stack is texinfo with
> its reference to texlive.

where do you see this?
$ guix gc --references `guix build texinfo`
/gnu/store/5j85qqflgx8nnzk86i43mxn0rjm8h2gv-perl-archive-zip-1.68
/gnu/store/930nwsiysdvy2x5zv1sf6v7ym75z8ayk-gcc-11.3.0-lib
/gnu/store/a5i8avx826brw5grn3n4qv40g514505c-coreutils-9.1
/gnu/store/bcc053jvsbspdjr17gnnd9dg85b3a0gy-ncurses-6.2.20210619
/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35
/gnu/store/hc05d76f1j3iz3v2bs5jz4fpljl1r4dj-gawk-5.2.1
/gnu/store/lj75fc25zx2y9pqvfp95la84rdhlj4f8-perl-5.36.0
/gnu/store/m8waimifhdjm8slb85jfihsm18jp1vc8-texinfo-7.0.3
/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16

So texinfo should be fine.

It is this explicit inclusion of graphviz that poses problems (glib is
then pulled in also).

Andreas





Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Wed, 26 Apr 2023 18:41:01 GMT) Full text and rfc822 format available.

Message #23 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: Andreas Enge <andreas <at> enge.fr>, Liliana Marie Prikler
 <liliana.prikler <at> gmail.com>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 63050 <at> debbugs.gnu.org
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Wed, 26 Apr 2023 20:39:59 +0200
[Message part 1 (text/plain, inline)]
Hi Andreas,

Andreas Enge <andreas <at> enge.fr> writes:

> Hello,
>
> Am Wed, Apr 26, 2023 at 06:59:44PM +0200 schrieb Liliana Marie Prikler:
>> Having built glib from scratch more often than is fun, I am quite
>> certain that the package pulling in our graphics stack is texinfo with
>> its reference to texlive.
>
> where do you see this?
> $ guix gc --references `guix build texinfo`

This would check the store path's references, but not necessarily all of
its inputs!  I would hope that no package with docs ever keeps
references to texlive.

Best,
-- 
Josselin Poiret
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Wed, 26 Apr 2023 19:23:01 GMT) Full text and rfc822 format available.

Message #26 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Enge <andreas <at> enge.fr>
To: Josselin Poiret <dev <at> jpoiret.xyz>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 63050 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Wed, 26 Apr 2023 21:21:55 +0200
Am Wed, Apr 26, 2023 at 08:39:59PM +0200 schrieb Josselin Poiret:
> This would check the store path's references, but not necessarily all of
> its inputs!  I would hope that no package with docs ever keeps
> references to texlive.

Indeed! But here these are also the (native) inputs.

Andreas





Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Wed, 26 Apr 2023 19:35:02 GMT) Full text and rfc822 format available.

Message #29 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Josselin Poiret <dev <at> jpoiret.xyz>, Andreas Enge <andreas <at> enge.fr>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 63050 <at> debbugs.gnu.org
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Wed, 26 Apr 2023 21:34:25 +0200
Am Mittwoch, dem 26.04.2023 um 20:39 +0200 schrieb Josselin Poiret:
> Hi Andreas,
> 
> Andreas Enge <andreas <at> enge.fr> writes:
> 
> > Hello,
> > 
> > Am Wed, Apr 26, 2023 at 06:59:44PM +0200 schrieb Liliana Marie
> > Prikler:
> > > Having built glib from scratch more often than is fun, I am quite
> > > certain that the package pulling in our graphics stack is texinfo
> > > with
> > > its reference to texlive.
> > 
> > where do you see this?
> > $ guix gc --references `guix build texinfo`
> 
> This would check the store path's references, but not necessarily all
> of its inputs!  I would hope that no package with docs ever keeps
> references to texlive.
It does turn out there's no `guix graph texinfo --path-to texlive'
either, though, so I was actually mistaken.

Sorry for the noise




Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Fri, 28 Apr 2023 17:01:02 GMT) Full text and rfc822 format available.

Message #32 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Simon Tournier <zimon.toutoune <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>, Andreas Enge
 <andreas <at> enge.fr>
Cc: 63050 <at> debbugs.gnu.org
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Fri, 28 Apr 2023 17:18:43 +0200
Hi,

On mar., 25 avril 2023 at 23:48, Ludovic Courtès <ludo <at> gnu.org> wrote:

> Maybe these are optional dependencies?

Why does Guix require ’graphviz’ in the first place?


Cheers,
simon




Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Wed, 03 May 2023 19:34:01 GMT) Full text and rfc822 format available.

Message #35 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Simon Tournier <zimon.toutoune <at> gmail.com>
Cc: Andreas Enge <andreas <at> enge.fr>, 63050 <at> debbugs.gnu.org
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Wed, 03 May 2023 21:33:23 +0200
Hi!

Simon Tournier <zimon.toutoune <at> gmail.com> skribis:

> On mar., 25 avril 2023 at 23:48, Ludovic Courtès <ludo <at> gnu.org> wrote:
>
>> Maybe these are optional dependencies?
>
> Why does Guix require ’graphviz’ in the first place?

It uses it to build images in the manual.

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Wed, 03 May 2023 19:51:02 GMT) Full text and rfc822 format available.

Message #38 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Andreas Enge <andreas <at> enge.fr>
Cc: 63050 <at> debbugs.gnu.org
Subject: 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’.

Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Thu, 04 May 2023 09:02:02 GMT) Full text and rfc822 format available.

Message #41 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Simon Tournier <zimon.toutoune <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Andreas Enge <andreas <at> enge.fr>, 63050 <at> debbugs.gnu.org
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Thu, 04 May 2023 10:56:24 +0200
Hi,

On Wed, 03 May 2023 at 21:33, Ludovic Courtès <ludo <at> gnu.org> wrote:

>> Why does Guix require ’graphviz’ in the first place?
>
> It uses it to build images in the manual.

Ah.  So we are dragging X11 libraries as libx11 for one or two figures
in the manual. :-)

Although that’s not exactly the same as “guix pull”,

    guix graph guix -t bag-emerged

gives an idea.  Well, for example, there is a path from guix to ninja
via graphviz.

While I understand that the documentation is important, could we skip it
for some architectures?

Cheers,
simon



$ guix graph guix -t bag-emerged | grep label | cut -f2 -d'=' | cut -f1 -d',' | sort
 "acl <at> 2.3.1"
 "attr <at> 2.5.1"
 "autoconf <at> 2.69"
 "autoconf-wrapper <at> 2.69"
 "automake <at> 1.16.3"
 "avahi <at> 0.8"
 "bash <at> 5.1.8"
 "bash-completion <at> 2.8"
 "bash-minimal <at> 5.1.8"
 "bash-minimal <at> 5.1.8"
 "bash-static <at> 5.1.8"
 "bdb <at> 6.2.32"
 "binutils <at> 2.37"
 "bison <at> 3.7.6"
 "bison <at> 3.7.6"
 "boost <at> 1.77.0"
 "bzip2 <at> 1.0.8"
 "bzip2 <at> 1.0.8"
 "cairo <at> 1.16.0"
 "cairo <at> 1.16.0"
 "c-ares <at> 1.17.2"
 "cmake-bootstrap <at> 3.21.4"
 "cmake-minimal <at> 3.21.4"
 "config <at> 0.0.0-1.c8ddc84"
 "coreutils <at> 8.32"
 "coreutils <at> 8.32"
 "coreutils-minimal <at> 8.32"
 "cunit <at> 2.1-3"
 "curl <at> 7.79.1"
 "datefudge <at> 1.23"
 "dbus <at> 1.12.20"
 "diffutils <at> 3.8"
 "disarchive <at> 0.4.0"
 "docbook-xml <at> 4.1.2"
 "docbook-xml <at> 4.4"
 "docbook-xsl <at> 1.79.2"
 "doxygen <at> 1.9.1"
 "expat <at> 2.4.1"
 "file <at> 5.39"
 "file <at> 5.39"
 "findutils <at> 4.8.0"
 "flex <at> 2.6.4"
 "fontconfig-minimal <at> 2.13.94"
 "font-dejavu <at> 2.37"
 "fontforge <at> 20201107"
 "font-ghostscript <at> 8.11"
 "freetype <at> 2.10.4"
 "fribidi <at> 1.0.9"
 "gawk <at> 5.1.0"
 "gawk <at> 5.1.0"
 "gcc <at> 10.3.0"
 "gd <at> 2.3.2"
 "gdbm <at> 1.20"
 "gettext-minimal <at> 0.21"
 "ghostscript <at> 9.54.0"
 "glib <at> 2.70.2"
 "glibc <at> 2.33"
 "glibc <at> 2.33"
 "glibc-utf8-locales <at> 2.33"
 "glibc-utf8-locales <at> 2.33"
 "gmp <at> 6.2.1"
 "gnutls <at> 3.7.2"
 "gnutls <at> 3.7.7"
 "gobject-introspection <at> 1.66.1"
 "gperf <at> 3.1"
 "graphite2 <at> 1.3.13"
 "graphviz <at> 2.49.0"
 "grep <at> 3.6"
 "grep <at> 3.6"
 "gts <at> 0.7.6"
 "guile <at> 3.0.7"
 "guile <at> 3.0.8"
 "guile-avahi <at> 0.4.0-1.6d43caf"
 "guile-bytestructures <at> 1.0.10"
 "guile-gcrypt <at> 0.3.0"
 "guile-git <at> 0.5.2"
 "guile-gnutls <at> 3.7.9"
 "guile-json <at> 4.7.1"
 "guile-lib <at> 0.2.7"
 "guile-lzlib <at> 0.0.2"
 "guile-lzma <at> 0.1.1"
 "guile-quickcheck <at> 0.1.0"
 "guile-sqlite3 <at> 0.1.3"
 "guile-ssh <at> 0.15.1"
 "guile-zlib <at> 0.1.0"
 "guile-zstd <at> 0.1.1"
 "guix <at> 1.3.0-31.3170843"
 "gzip <at> 1.10"
 "gzip <at> 1.10"
 "harfbuzz <at> 2.8.2"
 "help2man <at> 1.48.5"
 "http-parser <at> 2.9.4-1.ec8b5ee"
 "icu4c <at> 69.1"
 "intltool <at> 0.51.0"
 "iproute2 <at> 5.15.0"
 "iptables <at> 1.8.7"
 "itstool <at> 2.0.6"
 "jansson <at> 2.13.1"
 "jbig2dec <at> 0.19"
 "jemalloc <at> 5.2.1"
 "jsoncpp <at> 1.9.4"
 "kmod <at> 29"
 "lcms <at> 2.12"
 "ld-wrapper <at> 0"
 "libarchive <at> 3.5.1"
 "libbsd <at> 0.10.0"
 "libcap <at> 2.62"
 "libdaemon <at> 0.14"
 "libdatrie <at> 0.2.13"
 "libdrm <at> 2.4.107"
 "libelf <at> 0.8.13"
 "libev <at> 4.33"
 "libevent <at> 2.1.12"
 "libffi <at> 3.3"
 "libgc <at> 8.0.4"
 "libgcrypt <at> 1.8.8"
 "libgit2 <at> 1.3.0"
 "libgpg-error <at> 1.42"
 "libice <at> 1.0.10"
 "libidn <at> 1.37"
 "libidn2 <at> 2.3.1"
 "libjpeg-turbo <at> 2.0.5"
 "libltdl <at> 2.4.6"
 "libmnl <at> 1.0.4"
 "libnftnl <at> 1.2.0"
 "libpaper <at> 1.1.24"
 "libpciaccess <at> 0.16"
 "libpng <at> 1.6.37"
 "libpthread-stubs <at> 0.4"
 "libsigsegv <at> 2.13"
 "libsm <at> 1.2.3"
 "libspectre <at> 0.2.9"
 "libspiro <at> 20200505"
 "libssh <at> 0.9.6"
 "libssh2 <at> 1.9.0"
 "libtasn1 <at> 4.17.0"
 "libthai <at> 0.1.28"
 "libtiff <at> 4.3.0"
 "libtool <at> 2.4.6"
 "libungif <at> 4.1.4"
 "libuninameslist <at> 20200313"
 "libunistring <at> 0.9.10"
 "libuv <at> 1.41.1"
 "libx11 <at> 1.7.3.1"
 "libxau <at> 1.0.9"
 "libxaw <at> 1.0.14"
 "libxcb <at> 1.14"
 "libxdmcp <at> 1.1.3"
 "libxext <at> 1.3.4"
 "libxfixes <at> 6.0.0"
 "libxft <at> 2.3.3"
 "libxi <at> 1.7.10"
 "libxml2 <at> 2.9.12"
 "libxmu <at> 1.1.3"
 "libxpm <at> 3.5.13"
 "libxrender <at> 0.9.10"
 "libxslt <at> 1.1.34"
 "libxt <at> 1.2.1"
 "linux-libre-headers <at> 5.10.35"
 "lzlib <at> 1.13"
 "lzo <at> 2.10"
 "m4 <at> 1.4.18"
 "make <at> 4.3"
 "mallard-ducktype <at> 1.0.2"
 "meson <at> 0.60.3"
 "mit-krb5 <at> 1.19.2"
 "mpfr <at> 4.1.0"
 "nasm <at> 2.15.05"
 "ncurses <at> 6.2.20210619"
 "net-base <at> 5.3"
 "nettle <at> 3.7.3"
 "net-tools <at> 1.60-0.479bb4a"
 "nghttp2 <at> 1.44.0"
 "ninja <at> 1.10.2"
 "openjpeg <at> 2.4.0"
 "openjpeg-data <at> 2020.11.30"
 "openssl <at> 1.1.1l"
 "p11-kit <at> 0.23.22"
 "pango <at> 1.48.10"
 "patch <at> 2.7.6"
 "pciutils <at> 3.7.0"
 "pcre2 <at> 10.37"
 "pcre <at> 8.45"
 "perl <at> 5.34.0"
 "perl-common-sense <at> 3.75"
 "perl-cpanel-json-xs <at> 4.30"
 "perl-cpan-meta <at> 2.150010"
 "perl-cpan-meta-requirements <at> 2.140"
 "perl-cpan-meta-yaml <at> 0.018"
 "perl-extutils-config <at> 0.008"
 "perl-extutils-helpers <at> 0.026"
 "perl-extutils-installpaths <at> 0.012"
 "perl-gettext <at> 1.07"
 "perl-json-maybexs <at> 1.004003"
 "perl-module-build <at> 0.4231"
 "perl-module-build-tiny <at> 0.039"
 "perl-parse-cpan-meta <at> 2.150010"
 "perl-pod-parser <at> 1.65"
 "perl-test-harness <at> 3.42"
 "perl-test-needs <at> 0.002009"
 "perl-test-pod <at> 1.52"
 "perl-xml-parser <at> 2.46"
 "perl-yaml-tiny <at> 1.73"
 "pixman <at> 0.40.0"
 "pkg-config <at> 0.29.2"
 "po4a <at> 0.63"
 "poppler <at> 21.07.0"
 "potrace <at> 1.16"
 "python <at> 3.9.9"
 "python-fonttools <at> 4.28.5"
 "python-libxml2 <at> 2.9.12"
 "python-minimal <at> 3.9.9"
 "python-minimal-wrapper <at> 3.9.9"
 "python-wrapper <at> 3.9.9"
 "readline <at> 8.1.1"
 "rhash <at> 1.4.2"
 "ruby <at> 2.7.4"
 "ruby-hydra-minimal <at> 0.0-0.5abfa37"
 "sed <at> 4.8"
 "sed <at> 4.8"
 "socat <at> 1.7.4.1"
 "sqlite <at> 3.36.0"
 "swig <at> 4.0.2"
 "tar <at> 1.34"
 "tar <at> 1.34"
 "tcl <at> 8.6.11"
 "tcsh <at> 6.22.03"
 "teckit <at> 2.5.10"
 "texinfo <at> 6.7"
 "texlive-amscls <at> 59745"
 "texlive-amsmath <at> 59745"
 "texlive-babel <at> 59745"
 "texlive-bin <at> 20210325"
 "texlive-cm <at> 59745"
 "texlive-cm-super <at> 59745"
 "texlive-dehyph-exptl <at> 59745"
 "texlive-docstrip <at> 59745"
 "texlive-dvips <at> 59745"
 "texlive-etex <at> 59745"
 "texlive-fontname <at> 59745"
 "texlive-fonts-latex <at> 59745"
 "texlive-generic-babel-english <at> 59745"
 "texlive-graphics-cfg <at> 59745"
 "texlive-graphics-def <at> 59745"
 "texlive-hyphen-afrikaans <at> 59745"
 "texlive-hyphen-ancientgreek <at> 59745"
 "texlive-hyphen-armenian <at> 59745"
 "texlive-hyphen-base <at> 59745"
 "texlive-hyphen-basque <at> 59745"
 "texlive-hyphen-belarusian <at> 59745"
 "texlive-hyphen-bulgarian <at> 59745"
 "texlive-hyphen-catalan <at> 59745"
 "texlive-hyphen-chinese <at> 59745"
 "texlive-hyphen-churchslavonic <at> 59745"
 "texlive-hyphen-coptic <at> 59745"
 "texlive-hyphen-croatian <at> 59745"
 "texlive-hyphen-czech <at> 59745"
 "texlive-hyphen-danish <at> 59745"
 "texlive-hyphen-dutch <at> 59745"
 "texlive-hyphen-english <at> 59745"
 "texlive-hyphen-esperanto <at> 59745"
 "texlive-hyphen-estonian <at> 59745"
 "texlive-hyphen-ethiopic <at> 59745"
 "texlive-hyphen-finnish <at> 59745"
 "texlive-hyphen-french <at> 59745"
 "texlive-hyphen-friulan <at> 59745"
 "texlive-hyphen-galician <at> 59745"
 "texlive-hyphen-georgian <at> 59745"
 "texlive-hyphen-german <at> 59745"
 "texlive-hyphen-greek <at> 59745"
 "texlive-hyphen-hungarian <at> 59745"
 "texlive-hyphen-icelandic <at> 59745"
 "texlive-hyphen-indic <at> 59745"
 "texlive-hyphen-indonesian <at> 59745"
 "texlive-hyphen-interlingua <at> 59745"
 "texlive-hyphen-irish <at> 59745"
 "texlive-hyphen-italian <at> 59745"
 "texlive-hyphen-kurmanji <at> 59745"
 "texlive-hyphen-latin <at> 59745"
 "texlive-hyphen-latvian <at> 59745"
 "texlive-hyphen-lithuanian <at> 59745"
 "texlive-hyphen-macedonian <at> 59745"
 "texlive-hyphen-mongolian <at> 59745"
 "texlive-hyphen-norwegian <at> 59745"
 "texlive-hyphen-occitan <at> 59745"
 "texlive-hyphen-pali <at> 59745"
 "texlive-hyphen-piedmontese <at> 59745"
 "texlive-hyphen-polish <at> 59745"
 "texlive-hyphen-portuguese <at> 59745"
 "texlive-hyphen-romanian <at> 59745"
 "texlive-hyphen-romansh <at> 59745"
 "texlive-hyphen-russian <at> 59745"
 "texlive-hyphen-sanskrit <at> 59745"
 "texlive-hyphen-schoolfinnish <at> 59745"
 "texlive-hyphen-serbian <at> 59745"
 "texlive-hyphen-slovak <at> 59745"
 "texlive-hyphen-slovenian <at> 59745"
 "texlive-hyphen-spanish <at> 59745"
 "texlive-hyphen-swedish <at> 59745"
 "texlive-hyphen-thai <at> 59745"
 "texlive-hyphen-turkish <at> 59745"
 "texlive-hyphen-turkmen <at> 59745"
 "texlive-hyphen-ukrainian <at> 59745"
 "texlive-hyphen-uppersorbian <at> 59745"
 "texlive-hyphen-welsh <at> 59745"
 "texlive-hyph-utf8 <at> 59745"
 "texlive-knuth-lib <at> 59745"
 "texlive-kpathsea <at> 59745"
 "texlive-latex-base <at> 59745"
 "texlive-latexconfig <at> 59745"
 "texlive-latex-cyrillic <at> 59745"
 "texlive-latex-epstopdf-pkg <at> 59745"
 "texlive-latex-graphics <at> 59745"
 "texlive-latex-l3backend <at> 59745"
 "texlive-latex-l3kernel <at> 59745"
 "texlive-latex-l3packages <at> 59745"
 "texlive-latex-tools <at> 59745"
 "texlive-metafont <at> 59745"
 "texlive-psnfss <at> 59745"
 "texlive-ruhyphen <at> 59745"
 "texlive-tetex <at> 59745"
 "texlive-tex-ini-files <at> 59745"
 "texlive-tex-plain <at> 59745"
 "texlive-tiny <at> 59745"
 "texlive-ukrhyph <at> 59745"
 "texlive-unicode-data <at> 59745"
 "tk <at> 8.6.11.1"
 "tzdata <at> 2022a"
 "unzip <at> 6.0"
 "util-linux <at> 2.37.2"
 "util-macros <at> 1.19.3"
 "which <at> 2.21"
 "xcb-proto <at> 1.14"
 "xmlto <at> 0.0.28"
 "xorgproto <at> 2021.5"
 "xtrans <at> 1.4.0"
 "xz <at> 5.2.5"
 "xz <at> 5.2.5"
 "yelp-tools <at> 3.32.2"
 "yelp-xsl <at> 41.0"
 "zip <at> 3.0"
 "zlib <at> 1.2.11"
 "zstd <at> 1.5.0"
 "zziplib <at> 0.13.72"




Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Thu, 04 May 2023 09:02:02 GMT) Full text and rfc822 format available.

Message #44 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Simon Tournier <zimon.toutoune <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>, Andreas Enge
 <andreas <at> enge.fr>
Cc: 63050 <at> debbugs.gnu.org
Subject: Re: bug#63050: Reducing the closure size of Graphviz
Date: Thu, 04 May 2023 11:00:06 +0200
Hi,

On Wed, 03 May 2023 at 21:50, Ludovic Courtès <ludo <at> gnu.org> wrote:

> -     (list libxrender
> -           libx11
> -           gts
> +     (list gts
>             gd
>             guile-3.0                    ;Guile bindings
> -           pango
>             fontconfig
>             freetype
>             libltdl
> -           libxaw
>             expat
>             libjpeg-turbo
>             libpng))

Ah that’s better than my proposal elsewhere. ;-)


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

Yeah, we could have graphviz (with libx11) and graphviz-minimal (without
libx11) and make Guix depends on graphviz-minimal.  WDYT?


Cheers,
simon




Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Fri, 05 May 2023 15:23:02 GMT) Full text and rfc822 format available.

Message #47 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Csepp <raingloom <at> riseup.net>
To: Simon Tournier <zimon.toutoune <at> gmail.com>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 63050 <at> debbugs.gnu.org,
 bug-guix <at> gnu.org, Andreas Enge <andreas <at> enge.fr>
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Fri, 05 May 2023 15:21:16 +0000
Simon Tournier <zimon.toutoune <at> gmail.com> writes:

> Hi,
>
> On Wed, 03 May 2023 at 21:33, Ludovic Courtès <ludo <at> gnu.org> wrote:
>
>>> Why does Guix require ’graphviz’ in the first place?
>>
>> It uses it to build images in the manual.
>
> Ah.  So we are dragging X11 libraries as libx11 for one or two figures
> in the manual. :-)
>
> Although that’s not exactly the same as “guix pull”,
>
>     guix graph guix -t bag-emerged
>
> gives an idea.  Well, for example, there is a path from guix to ninja
> via graphviz.
>
> While I understand that the documentation is important, could we skip it
> for some architectures?

Or just move it to a separate output or package?  That should really be
something done for all packages automatically tbh.  Alpine gets this right.




Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Fri, 05 May 2023 15:23:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Tue, 09 May 2023 17:10:02 GMT) Full text and rfc822 format available.

Message #53 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Simon Tournier <zimon.toutoune <at> gmail.com>
To: Csepp <raingloom <at> riseup.net>
Cc: ludo <at> gnu.org, 63050 <at> debbugs.gnu.org, andreas <at> enge.fr
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Tue, 09 May 2023 14:36:28 +0200
Hi,

On ven., 05 mai 2023 at 15:21, Csepp <raingloom <at> riseup.net> wrote:

> Or just move it to a separate output or package?  That should really be
> something done for all packages automatically tbh.  Alpine gets this right.

Well, I do not think a separate output would be possible and we are not
talking about the package named ’guix’ but about what is implemented by
the module (guix self).

Somehow, I agree that one direction would to make optional some
features.  The current proposal for tackling this issue is the reduction
of the closure by removing lix11 and libxrender as discussed in [1].

1: https://issues.guix.gnu.org/msgid/874jot19fd.fsf_-_ <at> gnu.org


Cheers,
simon




Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Thu, 11 May 2023 21:34:02 GMT) Full text and rfc822 format available.

Message #56 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Csepp <raingloom <at> riseup.net>
To: Simon Tournier <zimon.toutoune <at> gmail.com>
Cc: ludo <at> gnu.org, 63050 <at> debbugs.gnu.org, Csepp <raingloom <at> riseup.net>,
 andreas <at> enge.fr
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Thu, 11 May 2023 23:30:30 +0200
Simon Tournier <zimon.toutoune <at> gmail.com> writes:

> Hi,
>
> On ven., 05 mai 2023 at 15:21, Csepp <raingloom <at> riseup.net> wrote:
>
>> Or just move it to a separate output or package?  That should really be
>> something done for all packages automatically tbh.  Alpine gets this right.
>
> Well, I do not think a separate output would be possible and we are not
> talking about the package named ’guix’ but about what is implemented by
> the module (guix self).
>
> Somehow, I agree that one direction would to make optional some
> features.  The current proposal for tackling this issue is the reduction
> of the closure by removing lix11 and libxrender as discussed in [1].
>
> 1: https://issues.guix.gnu.org/msgid/874jot19fd.fsf_-_ <at> gnu.org
>
>
> Cheers,
> simon

It should be made possible IMHO.  It's nice that our packages come with
docs, including Guix, but they are often unnecessary.  If an output
won't work because guix-self is special, then maybe it could be moved to
a separate package.




Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Sat, 20 May 2023 16:13:01 GMT) Full text and rfc822 format available.

Message #59 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Andreas Enge <andreas <at> enge.fr>
Cc: 63050 <at> debbugs.gnu.org, Simon Tournier <zimon.toutoune <at> gmail.com>
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Sat, 20 May 2023 18:12:47 +0200
Hi!

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

> We can get an X11-free Graphviz like so:
>
> 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))
>
>
> The closure size reduction is substantial:
>
> $ ./pre-inst-env guix size graphviz | tail -1
> total: 183.6 MiB
> $ guix size graphviz | tail -1
> total: 242.3 MiB
>
> But I suspect we’d still need the full-blown variant for things like
> xdot.

Here’s a proposal:

  https://issues.guix.gnu.org/63610

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Sat, 20 May 2023 16:39:01 GMT) Full text and rfc822 format available.

Message #62 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Enge <andreas <at> enge.fr>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 63050 <at> debbugs.gnu.org, Simon Tournier <zimon.toutoune <at> gmail.com>
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Sat, 20 May 2023 18:38:28 +0200
Am Sat, May 20, 2023 at 06:12:47PM +0200 schrieb Ludovic Courtès:
> > The closure size reduction is substantial:
> > $ ./pre-inst-env guix size graphviz | tail -1
> > total: 183.6 MiB
> > $ guix size graphviz | tail -1
> > total: 242.3 MiB
> > But I suspect we’d still need the full-blown variant for things like
> > xdot.
> Here’s a proposal:
>   https://issues.guix.gnu.org/63610

Typo? The issue is not found.

Note that I do not care so much about the closure size, but about the
number of packages that are needed to just build guix (although of course
the two are related). Or otherwise said, the dependencies for "guix pull".
On "exotic" architectures, each dependency is a potential cause of failure,
and all in all it may take hours (days?) to run "guix pull" without
substitutes, with a high chance of failure.

Andreas





Information forwarded to bug-guix <at> gnu.org:
bug#63050; Package guix. (Wed, 24 May 2023 13:11:02 GMT) Full text and rfc822 format available.

Message #65 received at 63050 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Andreas Enge <andreas <at> enge.fr>
Cc: 63050 <at> debbugs.gnu.org, Simon Tournier <zimon.toutoune <at> gmail.com>
Subject: Re: bug#63050: "guix pull" requires graphical libraries
Date: Wed, 24 May 2023 15:10:11 +0200
Hi,

Andreas Enge <andreas <at> enge.fr> skribis:

> Am Sat, May 20, 2023 at 06:12:47PM +0200 schrieb Ludovic Courtès:
>> > The closure size reduction is substantial:
>> > $ ./pre-inst-env guix size graphviz | tail -1
>> > total: 183.6 MiB
>> > $ guix size graphviz | tail -1
>> > total: 242.3 MiB
>> > But I suspect we’d still need the full-blown variant for things like
>> > xdot.
>> Here’s a proposal:
>>   https://issues.guix.gnu.org/63610
>
> Typo? The issue is not found.

Typo on your side then?  :-)

> Note that I do not care so much about the closure size, but about the
> number of packages that are needed to just build guix (although of course
> the two are related). Or otherwise said, the dependencies for "guix pull".

Yes, understood.  Graphviz is not in the closure anyway, it’s a
build-only dependency.

With commit 9fa92acbf0c4dbc734ac7d83b31bd6d12e09a401 this is mostly
fixed.  There’s still another path leading to libx11 though:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix graph --path guix libx11
guix <at> 1.4.0-6.dc5430c
guile-avahi <at> 0.4.1
avahi <at> 0.8
dbus <at> 1.14.0
libx11 <at> 1.8.1
--8<---------------cut here---------------end--------------->8---

(The same applies to “guix pull”.)

Not sure what can be done about it.

Ludo’.




bug closed, send any further explanations to 63050 <at> debbugs.gnu.org and Andreas Enge <andreas <at> enge.fr> Request was from Maxim Cournoyer <maxim.cournoyer <at> gmail.com> to control <at> debbugs.gnu.org. (Sun, 23 Mar 2025 01:53:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 20 Apr 2025 11:24:17 GMT) Full text and rfc822 format available.

This bug report was last modified 18 days ago.

Previous Next


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