Subject: Re: [bug#27907] [PATCH] graph: Provide access to the package record in the emit

From: [email-masked] (Ludovic Courtès)
Date: Fri, 25 Aug 2017 00:26:23 +0200

Hi!

[email-masked] (Ludovic Courtès) skribis:

> Roel Janssen <[email-masked]> skribis:
>
>> I would like to expand the Cypher back-end and in the long run add a
>> SPARQL graph back-end to GNU Guix.  For this, I will need to have access
>> to the package records inside the emit-* functions.
>>
>> This patch makes this change by essentially changing the "label"
>> parameter of the emit-* functions passed as "(node-label head)" into a
>> "node" parameter, passed as "head".
>>
>> The rest of the patch adapts the current emit-* functions to this
>> change.
>>
>> I tested the Graphviz, D3js, and Cypher back-ends, and all seem to work
>> as before.
>>
>> Is it OK to apply this change?
>
> Sure, looks good to me!

Actually no!  :-)

The problem was that it broke all non-package-related “node types” (like
“guix graph -t references”), and it had the problem that it ignores the
‘label’ procedure in <node-type>.  And “make check” failed.

So I reverted it in 5e60bef9802e448924f889d34d95a249b008652c.  We need
to rethink about it.

Cheers,
Ludo’.