[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#70339: Constructing hg-fetch fixed-output derivation requires Mercur
From: |
Ludovic Courtès |
Subject: |
bug#70339: Constructing hg-fetch fixed-output derivation requires Mercurial |
Date: |
Fri, 12 Apr 2024 11:30:00 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hello!
Simon Tournier <zimon.toutoune@gmail.com> skribis:
> $ guix build -S -d hg-commitsigs
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> 3,7 MB will be downloaded:
> /gnu/store/6fya762sz5hjdj04vdn5g3v6zii6f11d-mercurial-6.2.2
> substituting /gnu/store/6fya762sz5hjdj04vdn5g3v6zii6f11d-mercurial-6.2.2...
> downloading from
> https://ci.guix.gnu.org/nar/lzip/6fya762sz5hjdj04vdn5g3v6zii6f11d-mercurial-6.2.2
> ...
> mercurial-6.2.2 3.5MiB
> 529KiB/s 00:07 ▕██████████████████▏ 100.0%
>
> /gnu/store/pkb6zd9xfmxx6rsh4p7w3glh7xqg5sqy-hg-commitsigs-0.1.0-0.b53eb68-checkout.drv
>
>
> and it is unexpected.
That running ‘hg clone’ requires Mercurial isn’t totally unexpected to
me. :-)
> I think it comes from this part:
>
> (hg-fetch '#$(hg-reference-url ref)
> '#$(hg-reference-changeset ref)
> #$output
> #:hg-command (string-append #+hg "/bin/hg")))
>
> from ’hg-fetch’ in (guix hg-download). Here the #+hg is not required
> because just before there is:
>
> (set-path-environment-variable "PATH" '("bin")
> (match '#+inputs
> (((names dirs outputs ...) ...)
> dirs)))
Maybe, but one way or another, Mercurial is necessary.
Now, the ‘guix recover’ tool (or whatever you call it) you’re working on
could create a different fixed-output derivation producing the same
result but without using Mercurial; typically, the builder of that
derivation would download from SWH.
Does that make sense?
HTH,
Ludo’.