On 2016-08-11 09:43, Vincent Legoll wrote:
Hello,

I'm trying to understand which package(s) depends on some other package,
kind of the reverse of what guix graph does (I think).

I think that `guix refresh --list-dependent foo` is what you are asking
for, or at least it's close. We use it to learn what will need to be
rebuilt when upgrading foo.

Not really what I want to know:

# guix refresh --list-dependent inkscape
Building the following 5 packages would ensure 10 dependent packages
are rebuilt: frescobaldi-2.19.0 solfege-3.22.2 simple-scan-3.19.91
termite-11 hydra-20150407.4c0e3e4

None of those are installed, but inkscape is pulled in by something
which I want to know

Is there no other way to get that information ?

Something like (mildly tested):

(use-modules (guix packages)
             (gnu packages)
             (gnu packages inkscape)
             (srfi srfi-1)
             (srfi srfi-26))

(fold-packages
  (lambda (package _)
    (when (any (cut eq? <> inkscape)
               (map second (package-direct-inputs package)))
      (format #t "~a depends on inkscape~%"
              (package-full-name package))))
  #t)

which, when run, results in:
"dblatex-0.3.5 depends on inkscape"

--
`~Eric

Reply via email to