Federico Beffa <be...@ieee.org> skribis: > I believe that "guix environment" does not consider all outputs > properly. As one example, when I execute: > > guix environment libpeas > > the $PATH doesn't include /gnu/store/...glib-2.42.1-bin/bin where > ("glib:bin" ,glib "bin") is one of the native-inputs of the package. > > Is this intentional?
I don’t think so. 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. I think these would need to be adjusted. Any takers? :-) Ludo’.