Subject: [bug#73937] [PATCH]: Update Nyxt to 3.12.0

From: Guillaume Le Vaillant <[email-masked]>
Date: Wed, 23 Oct 2024 19:31:03 +0000

André A. Gomes <[email-masked]> skribis:

> Guillaume Le Vaillant <[email-masked]> writes:
>
>> Hi.
>> We usually try to avoid taking libraries from git submodules unless the
>> software can't be made to compile with system libraries.
>> Can't Nyxt 3.12.0 work with the libraries packaged in Guix?
>
> Nyxt pins Common Lisp libraries versions as to ensure everything works
> as expected.  Concretely, there's an issue related to sbcl-alexandria
> since the commit Guix is using breaks Nyxt's functionality (see [1]).
>
> You may argue that a sbcl-alexandria variant could be defined (see [2]),
> but it seems brittle from Nyxt's perspective and probably undesirable
> from Guix's perspective.
>
> All package managers are using the git submodules to build Nyxt,
> including Nix.  From Nyxt's perspective, any build that won't use the
> pinned CL libraries versions isn't Nyxt per se, but a custom build (or
> perhaps a "variation" in Guix's parlance).
>
> Happy to know your thoughts.
>
> [1] https://github.com/atlas-engineer/nyxt/issues/3503
> [2] https://github.com/aadcg/aadcg-guix-channel/blob/284a62f30b91642b08a66d02679611655d0bfb51/packages/aadcg-nyxt.scm#L20

If I understand correctly, the issue comes from the fact that the
read-stream-content-into-string function from recent versions of
alexandria doesn't accept an octet stream as argument instead of
a character stream anymore.

Wouldn't it be possible to replace

    (alexandria:read-stream-content-into-string connection)

by something like

    (map 'string
         #'code-char
         (alexandria:read-stream-content-into-byte-vector connection))

in Nyxt? If it works it would allow us to continue using the system
libraries (some of which might have patches to work well in Guix).