From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Bavier Subject: Re: Reverse dependencies Date: Fri, 12 Aug 2016 11:30:59 -0500 Message-ID: <4f2d94024c65e0066ce875f7c26f3c28@openmailbox.org> References: <20160716161333.GA29212@jasmine> <87fuqa3qhg.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39121) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bYFMW-0003Qm-Mq for help-guix@gnu.org; Fri, 12 Aug 2016 12:31:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bYFMQ-0006jG-Ja for help-guix@gnu.org; Fri, 12 Aug 2016 12:31:11 -0400 Received: from mail2.openmailbox.org ([62.4.1.33]:33176) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bYFMQ-0006j4-AA for help-guix@gnu.org; Fri, 12 Aug 2016 12:31:06 -0400 In-Reply-To: <87fuqa3qhg.fsf@gmail.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Chris Marusich Cc: help-guix On 2016-08-12 11:24, Chris Marusich wrote: > Eric Bavier writes: > >> 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" > > The 'guix graph' command has the ability to print out references, but > my > understanding is that because these are the references which result > from > Nix's scan of the output store path, these references will only be > runtime dependencies (see '(guix) Invoking guix graph' in the manual). This is not completely accurate. 'guix graph's '--type' argument can be used to display different node types. The 'references' type corresponds to run-time dependencies. -- `~Eric