[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#54986] [PATCH] gnu: mpd: Add support for socket activation.
From: |
Maxim Cournoyer |
Subject: |
[bug#54986] [PATCH] gnu: mpd: Add support for socket activation. |
Date: |
Tue, 02 May 2023 23:17:46 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Hi Liliana,
Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
> Am Montag, dem 01.05.2023 um 11:53 -0400 schrieb Maxim Cournoyer:
>> > > Like Ludovic, I'm wondering what duplicating the Shepherd
>> > > endpoints API in Guix buys us? [...]
>>
>> Instead of replicating the Shepherd API in Guix, could we use the
>> Shepherd API directly? It's Scheme, and already depended on by Guix,
>> so the question arises.
> In theory, it'd be possible, albeit with some caveats:
> 1. Shepherd doesn't (didn't) have a full guix-style records API, which
> might cause discrepancies in otherwise normal-looking Scheme code.
Shepherd's code is pretty normal-looking Scheme code to me, last I
checked :-) I think Ludovic has also been working toward bringing it
closer to their standards, e.g. deprecating the use of GOOPS.
> 2. It'd probably make shepherd a compile-time dependency, which is
> avoided in other places in the code, i.e. (gnu build shepherd)
I wonder if that could be an acceptable price to pay? It seems
reasonable to me that the close integration of Shepherd within Guix
introduces a dependency on it.
> 3. Shepherd records are (to my knowledge) not print-readable, so we'd
> have to move them through G-Expressions through some of our own code
> anyway; how strongly that would replicate the API is up to
> debate/speculation.
As far as I can tell, both are based on SRFI-9 records and use the same
representation, or I miss the fine details from the source.
--
Thanks,
Maxim