Subject: bug#34402: Inferior channel (I believe 'inferior-for-channels' function specifically) sometimes fails

From: <[email-masked]>
Date: Sat, 09 Feb 2019 11:11:39 +0000 (GMT)

Often I'll get this output when building a manifest* with an inferior:

```
itsme@antelope /tmp$ guix package -n -m example-inferior.scm 
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
guix package: error: failed to load 'example-inferior.scm':
```

I believe this is the 'inferior-for-channels' function that fails.

After investigating a while back, it seems removing the relevant checkout in ~/.cache/guix/checkouts temporarily fixes it, but the issue often comes back.

* The manifest used is the example from the Guix manual in the section on Inferiors, with the guix commit in the manifest replaced with my guix revision:

```
(use-modules (guix inferior) (guix channels)
             (srfi srfi-1))   ;for 'first'

(define channels
  ;; This is the old revision from which we want to
  ;; extract guile-json.
  (list (channel
         (name 'guix)
         (url "https://git.savannah.gnu.org/git/guix.git")
         (commit
          "722ac64cd7dc1f09fb77e2ae780427fa13c03110"))))

(define inferior
  ;; An inferior representing the above revision.
  (inferior-for-channels channels))

;; Now create a manifest with the current "guile" package
;; and the old "guile-json" package.
(packages->manifest
 (list (first (lookup-inferior-packages inferior "guile-json"))
       (specification->package "guile")))
```