Subject: [bug#50632] [PATCH] graph: Add '--max-depth'.

From: zimoun <[email-masked]>
Date: Tue, 21 Sep 2021 11:19:45 +0200

Hi Ludo,

On Tue, 21 Sep 2021 at 10:44, Ludovic Courtès <[email-masked]> wrote:

> True, it’s a separate program, but it’s mentioned since
> c2b2c19a7b8b75ef6dd153ca121dd8765cdcd746 because it’s more convenient
> IMO.

Ah, I should have missed this.  However, it does not work out of the
box:

--8<---------------cut here---------------start------------->8---
$ guix environment --ad-hoc xdot
$ guix graph coreutils | xdot -
Traceback (most recent call last):
  File "/gnu/store/gm49bvwdgjpx23wlcfrm8mbf8n75a77n-xdot-1.1/bin/.xdot-real", line 11, in <module>
    load_entry_point('xdot==1.1', 'gui_scripts', 'xdot')()
  File "/gnu/store/gm49bvwdgjpx23wlcfrm8mbf8n75a77n-xdot-1.1/lib/python3.8/site-packages/xdot/__main__.py", line 70, in main
    win = DotWindow(width=width, height=height)
  File "/gnu/store/gm49bvwdgjpx23wlcfrm8mbf8n75a77n-xdot-1.1/lib/python3.8/site-packages/xdot/ui/window.py", line 546, in __init__
    self.dotwidget = widget or DotWidget()
  File "/gnu/store/gm49bvwdgjpx23wlcfrm8mbf8n75a77n-xdot-1.1/lib/python3.8/site-packages/xdot/ui/window.py", line 67, in __init__
    self.connect("draw", self.on_draw)
TypeError: <window.DotWidget object at 0x7f465dd1f400 (xdot+ui+window+DotWidget at 0x17b50f0)>: unknown signal name: draw

(.xdot-real:5940): Gtk-WARNING **: 11:09:08.420: A floating object was finalized. This means that someone
called g_object_unref() on an object that had only a floating
reference; the initial floating reference is not owned by anyone
and must be removed with g_object_ref_sink().
guix graph: error: fport_write: Broken pipe
Segmentation fault
--8<---------------cut here---------------end--------------->8---

That’s why I suggest to keep examples in the manual as simple as
possible.  From my point of view, this package should be mentioned but
should not be part of the example.

The core of the comment is when releasing.  Examples involving a complex
stack are harder to fix.  And from my point of view, release broken
examples in the manual is not acceptable*; for an instance of this, see
<http://issues.guix.gnu.org/issue/47097>.

*not acceptable: well, it is not GNU high standard; even if we can live
 with them. ;-)

Cheers,
simon