unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Julien Lepiller <julien@lepiller.eu>
To: guix-devel@gnu.org, zimoun <zimon.toutoune@gmail.com>,
	Guix Devel <guix-devel@gnu.org>
Subject: Re: (propagated) 'inputs' depends on 'outputs'?
Date: Sat, 13 Jun 2020 07:38:11 -0400	[thread overview]
Message-ID: <C103857E-F8C0-45D9-A12C-656A7BFE3954@lepiller.eu> (raw)
In-Reply-To: <CAJ3okZ38+VhW+Gq7PtPwx+AUAuV3pnzhwCGYCmd66u0uyA7ycA@mail.gmail.com>

Le 13 juin 2020 07:01:01 GMT-04:00, zimoun <zimon.toutoune@gmail.com> a écrit :
>Dear,
>
>My question is: is it possible to specify 'inputs' only for specific
>'outputs'?
>
>Well, I think that the answer is no because build-time vs install-time
>but I could have wrong and/or someone could have a fix for me. :-)

Exactly, no. You cannot separate inputs from outputs, because they are part of the same derivation. When you build an output, you actually build the complete derivation and there's no way to separate that in "this part builds out" and "this part builds doc", etc.

For propagated-inputs it would make some sense. A propagated input is just a normal input when building the package (so it contributes to every output). Its propagation behaviour only takes place when you want to install it in a profile though.

If foo propagates bar, anl you install foo:out, you will also get bar:out in your profile. Same if you install foo:bin.

It would make sense to only propagate for some outputs: suppose at runtime only foo:bin requires the propagation of bar. Since foo and bar are already built, it should be possible to restrict the propagation behaviour to that output. Foo:out would not bring in bar anymore, reducing the closure size. 

That's not implemented though.

>
>All the best,
>simon



  parent reply	other threads:[~2020-06-13 11:38 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-13 11:01 (propagated) 'inputs' depends on 'outputs'? zimoun
2020-06-13 11:16 ` Christopher Baines
2020-06-16 12:31   ` zimoun
2020-06-16 15:34     ` Ricardo Wurmus
2020-06-16 15:52       ` zimoun
2020-06-13 11:38 ` Julien Lepiller [this message]
2020-06-16 12:41   ` zimoun
2020-06-16 14:28     ` Julien Lepiller
2020-06-16 15:45       ` zimoun
2020-06-19 20:47         ` Ludovic Courtès
2020-06-19 21:44           ` zimoun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=C103857E-F8C0-45D9-A12C-656A7BFE3954@lepiller.eu \
    --to=julien@lepiller.eu \
    --cc=guix-devel@gnu.org \
    --cc=zimon.toutoune@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).