guile2.0-git rewrites libgit2 input to use guile-2.0

  • Open
  • quality assurance status badge
Details
3 participants
  • Danny Milosavljevic
  • Ludovic Courtès
  • Mark H Weaver
Owner
unassigned
Submitted by
Mark H Weaver
Severity
normal
M
M
Mark H Weaver wrote on 28 Mar 2019 21:38
One libgit2 derivation fails on armhf, another succeeds
(address . bug-guix@gnu.org)
875zs2d99d.fsf@netris.org
The 'guile2.0-git-0.2.0' package fails to build on hydra.gnu.org,
because its dependency 'libgit2' fails to build:


However, there's another 'libgit2' derivation in the same evaluation,
which succeeds:


Looking at the source for 'guile2.0-git', defined in
gnu/packages/guile.scm, it appears to use the standard 'libgit2'
package, unless 'package-for-guile-2.0' is somehow modifying the
'libgit2' derivation.

Any idea what's going on here?

Mark
D
D
Danny Milosavljevic wrote on 28 Mar 2019 22:40
(name . Mark H Weaver)(address . mhw@netris.org)(address . 35034@debbugs.gnu.org)
20190328224014.1dc8fb02@scratchpost.org
Hi Mark,

On Thu, 28 Mar 2019 16:38:27 -0400
Mark H Weaver <mhw@netris.org> wrote:

Toggle quote (5 lines)
> unless 'package-for-guile-2.0' is somehow modifying the
> 'libgit2' derivation.
>
> Any idea what's going on here?

Not really, *but* I've recently replaced Python by Guile in libgit2
tests.

Maybe that broke something - especially if package-for-guile-2.0 somehow
either provides both guile versions as native inputs or selects one
incompatible with the "generate.scm" I wrote.

Here, (ice-9 textual-ports) seems to be not found. Does it not exist in
guile 2.0 ? (I wasn't aware we still used guile 2.0 for something...)
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlydP0YACgkQ5xo1VCww
uqVIlwf7BTRyk2KHj5WDEsSYOIs6wjmCnBp7bca3EOLPntMgR4sSTn+3Ehczjlwh
76n2uUD+F5JgzAJatY06lkbbEKEoD52+W2NZ53KeTyeYU3dCruRTUwyJ39v/n7wr
q3uATj5ZQPHWEcw4mXIDVkn122PWzz4LpRT7eRoqsGXVv/dJnDZoj/zbZ0CVuLSt
Gor2DBT8nX7FVfnjS73U7hjM8nxkJaoaUY+27SSnjUvfq74U0qvXqEIsMgUkaGBs
hFaQq+ZQvTsh4jXUo5P9j3Cy+eEJ1EegKLuuqP9NWv9Dl0jfp9jpviVIBm7S87ZG
qqdnKAeRLTSj9nE7brWGzHi0nqtFYA==
=CtrJ
-----END PGP SIGNATURE-----


M
M
Mark H Weaver wrote on 28 Mar 2019 22:58
guile2.0-git rewrites libgit2 input to use guile-2.0 (was: One libgit2 derivation fails on armhf, another succeeds)
(address . 35034@debbugs.gnu.org)
871s2qd5k1.fsf@netris.org
retitle 35034 guile2.0-git rewrites libgit2 input to use guile-2.0
thanks

It turns out that this problem is not specific to armhf. 'guile2.0-git'
recently started failing to build on all Hydra-supported systems.

I see now what's going on. The problem was introduced by:

commit 03fb5ff6ae01a680c786d9ee148839543c519411
Author: Danny Milosavljevic <dannym@scratchpost.org>
Date: Thu Mar 21 23:28:43 2019 +0100
gnu: libgit2: Avoid Python.
* gnu/packages/patches/libgit2-avoid-python.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/version-control.scm (libgit2)[source]: Use it.
[inputs]: Remove python.
[native-inputs]: Add guile-2.2.

The 'guile-git' package has 'libgit2' as an input. The 'guile2.0-git'
variant package uses 'package-for-guile-2.0' to rewrite 'guile-git' to
use 'guile-2.0'. Unfortunately, this rewrites more deeply than we
probably want. In this case, the rewriting extends into 'libgit2',
changing its native-input from 'guile-2.2' to 'guile-2.0'. However, the
Guile code that Danny wrote doesn't work with 'guile-2.0', because it
uses the (ice-9 textual-ports) module, which doesn't exist in Guile 2.0.

Suggestions?

Mark
L
L
Ludovic Courtès wrote on 29 Mar 2019 16:29
Re: guile2.0-git rewrites libgit2 input to use guile-2.0
(name . Mark H Weaver)(address . mhw@netris.org)
87imw1aecl.fsf@gnu.org
Hi Mark,

Mark H Weaver <mhw@netris.org> skribis:

Toggle quote (14 lines)
> retitle 35034 guile2.0-git rewrites libgit2 input to use guile-2.0
> thanks
>
> It turns out that this problem is not specific to armhf. 'guile2.0-git'
> recently started failing to build on all Hydra-supported systems.
>
> I see now what's going on. The problem was introduced by:
>
> commit 03fb5ff6ae01a680c786d9ee148839543c519411
> Author: Danny Milosavljevic <dannym@scratchpost.org>
> Date: Thu Mar 21 23:28:43 2019 +0100
>
> gnu: libgit2: Avoid Python.

[...]

Toggle quote (8 lines)
> The 'guile-git' package has 'libgit2' as an input. The 'guile2.0-git'
> variant package uses 'package-for-guile-2.0' to rewrite 'guile-git' to
> use 'guile-2.0'. Unfortunately, this rewrites more deeply than we
> probably want. In this case, the rewriting extends into 'libgit2',
> changing its native-input from 'guile-2.2' to 'guile-2.0'. However, the
> Guile code that Danny wrote doesn't work with 'guile-2.0', because it
> uses the (ice-9 textual-ports) module, which doesn't exist in Guile 2.0.

I’m tempted to sidestep the problem by removing “guile2.0-git”, which I
think is of little use.

WDYT?

Ludo’.
?