Ludovic Courtès writes: > On closer inspection, I see two issues: > > (define (packages->transitive-inputs packages) > "Return a list of the transitive inputs for all PACKAGES." > (define (transitive-inputs package) > (filter-map (match-lambda > ((_ (? package? package)) package) > (_ #f)) ; <---- ! > (bag-transitive-inputs > (package->bag package)))) > (delete-duplicates > (append-map transitive-inputs packages))) > > Here only inputs of the form ("foo" PKG) are considered; things like > ("glib" ,glib "bin") are discarded. > > (define (for-each-search-path proc inputs derivations pure?) > (let ((paths (map derivation->output-path derivations))) ; <-- ! > [...] > > Above, ‘derivation->output-path’ considers only the “out” output, > ignoring others if they are needed. Here's a patch. WDYT?