Subject: bug#35034: guile2.0-git rewrites libgit2 input to use guile-2.0 (was: One libgit2 derivation fails on armhf, another succeeds)

From: Mark H Weaver <[email-masked]>
Date: Thu, 28 Mar 2019 17:58:27 -0400

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 <[email-masked]>
  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