Subject: Re: [bug#62008] [PATCH 0/2] Update Disarchive to 0.5.0

From: Simon Tournier <[email-masked]>
Date: Tue, 07 Mar 2023 11:43:35 +0100

Hi Ludo,

On mar., 07 mars 2023 at 10:49, Ludovic Courtès <[email-masked]> wrote:

> For this package, I have a slight preference for keeping propagated
> inputs so that one can use Disarchive as a library.

Well, maybe I am missing a point but currently for Disarchive standalone,

--8<---------------cut here---------------start------------->8---
$ guix shell -C disarchive -- disarchive disassemble hello-2.12.1
Backtrace:
In ice-9/boot-9.scm:

[...]

ice-9/boot-9.scm:3329:6: In procedure resolve-interface:
no code for module (gcrypt hash)
--8<---------------cut here---------------end--------------->8---

And I need to add Guile for triggering the search patch.  And I find
that annoying,

    $ guix shell -C disarchive guile -- disarchive disassemble hello-2.12.1

It does not appear to me straightforward to know that.

> WDYT?

Since we have two usages of Disarchive, the standalone CLI and the
library, maybe we should have two packages: disarchive and
guile-disarchive.

WDYT?

> Some comments while at it…

Thanks.  That’s interesting because I took inspiration from the packages
Cuirass and Dezyne. :-)

>> +              (let* ((effective
>> +                      (read (open-pipe* OPEN_READ
>> +                                        (string-append #$guile-3.0 "/bin/guile")
>> +                                        "-c" "(write (effective-version))")))
>
> (guix build guile-build-system) exports ‘target-guile-effective-version’
> to do that; it’s more convenient.

I did not know.  Well, I will adapt Cuirass and Dezyne too, IIUC. :-)

>> +                     (modules (list #$output
>> +                                    #$guile-bytestructures
>> +                                    #$guile-gcrypt
>> +                                    #$guile-lzma))
>
> This should use (this-package-input "guile-bytestructures“) and similar,
> for consistency.

Ok.  Just for my understanding about the "consistency”, is the procedure
’make-gitolite’ from (gnu packages version-conrol) consistent?

Cheers,
simon