GNU bug report logs -
#51838
[PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp.
Previous Next
Reported by: Philip McGrath <philip <at> philipmcgrath.com>
Date: Sun, 14 Nov 2021 12:43:01 UTC
Severity: normal
Tags: patch
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #809 received at 51838 <at> debbugs.gnu.org (full text, mbox):
Hi,
On 12/21/21 00:20, Liliana Marie Prikler wrote:
> Hi,
>
> excuse my brevity, but I'll be off to work soon.
>
> Am Montag, dem 20.12.2021 um 22:59 -0500 schrieb Philip McGrath:
>> My reservation regarding:
>>
>>>
>>> (add-after 'patch-dependencies 'drop-junk
>>> (lambda _
>>> (with-atomic-json-replacement "package.json"
>>> (lambda (json) (delete-dependencies json '("node-tap"))))))
>>>
>>
>> is that `with-atomic-json-replacement` would make (guix build json)'s
>> representation a part of node-build-system's API, which it currently
>> is not. For the reasons I detailed in my last email, I think that
>> would open up a larger can of worms than it might seem.
> That might be a valid concern, but I'd point to the "we don't
> gratuitously change API" shield. Plus if we do, we'd replace our
> current JSON by Guile-JSON. If that has a different internal
> representation that would awfully break things, please do tell.
Here are, to the best of my understanding, the differences in
representation among (guix build json) and the three versions of
guile-json packaged in Guix. (For guile-json, this is based on my
relatively-quick reading of the docs, not any direct experience.) An
extra complication is that some part of Guix's code staging seems to
incorrectly turn #nil into '(). I will see if I can narrow that down and
file a bug report.
(guix build json):
• object -> (Pairof '@ (Listof (Pairof String Json)))
• array -> (Listof Json)
• null -> #nil
• string -> String
guile-json-4:
• object -> (Listof (Pairof (U Symbol Number String) Json))
• array -> (Vectorof Json)
• null -> 'null ;; configurable by keyword argument
• string -> (U Symbol String)
guile-json-3:
• object -> (Listof (Pairof (U Symbol Number String) Json))
• array -> (Vectorof Json)
• null -> #nil
• string -> (U Symbol String)
guile-json-1:
• object -> (U (HashTable (U Symbol String) Json)
(Listof (Pairof (U Symbol String) Json)))
• array -> (Listof Json)
• null -> #nil
• string -> (U Symbol String)
-Philip
This bug report was last modified 3 years and 197 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.