From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Allen Subject: Design decision behind inputs/native-inputs/propagated-inputs Date: Wed, 20 Jan 2016 23:49:09 -0500 Message-ID: <20160121044909.GA18348@stebalien.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="qDbXVdCdHGoSgWSk" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56483) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aM7BJ-0007Uy-HA for help-guix@gnu.org; Wed, 20 Jan 2016 23:49:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aM7BI-0007TD-GL for help-guix@gnu.org; Wed, 20 Jan 2016 23:49:13 -0500 Received: from mail-qg0-x229.google.com ([2607:f8b0:400d:c04::229]:36400) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aM7BI-0007Sk-Ai for help-guix@gnu.org; Wed, 20 Jan 2016 23:49:12 -0500 Received: by mail-qg0-x229.google.com with SMTP id e32so23929923qgf.3 for ; Wed, 20 Jan 2016 20:49:11 -0800 (PST) Received: from localhost ([2601:18d:4501:fc40:2677:3ff:fe46:f644]) by smtp.gmail.com with ESMTPSA id o60sm15656427qge.34.2016.01.20.20.49.10 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Jan 2016 20:49:10 -0800 (PST) Content-Disposition: inline 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-bounces+gcggh-help-guix=m.gmane.org@gnu.org To: help-guix@gnu.org --qDbXVdCdHGoSgWSk Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable All, I just attended David Thompson's talk about Guix and asked some questions about the difference between inputs, propagated-inputs, and native-inputs. I believe I now understand what each does but am unclear as to why. Currently, I use Arch. On Arch, we have makedepends and depends where only depends are kept at runtime. On Guix, this distinction is detected at build time by searching the output files for references into the inputs. However, unless I'm mistaken, native-inputs are *usually* build dependencies and inputs are *usually* runtime dependencies. So, my question is why not: 1. Get rid of the automagic run/build dependency detection. 2. Have: a. private-inputs -- runtime dependencies not linked into the environment b. propagated-inputs -- no change c. build-inputs -- always native, never included in the final output Specifically, what is the use case for non-native build-only dependencies= =20 (inputs that are not included in the final package) and native runtime dependencies (native-inputs that *are* included in the final package)? Alternatively, am I completely missing the point? P.S. Please CC, I'm not subscribed. --=20 Steven Allen --qDbXVdCdHGoSgWSk Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWoGNCAAoJEGVqlrqQ0li+GJEQAI5PXI5tlwNABRZS7mcNmeMq YNIkZ2HlYpdtAEUT6zINucQ6qb43MfJ6VV6XNq06jHuBciwKHjUuKFQnY7uKmnnZ Rta9zMwkLR6SuEsR57eIeNRJ+dViv5DBMi3409AqbEM+5xrHsYY8HRj2iYdbjL4Q XvJFreJe19uZ4KJPC6XNAKrqvqcydH4+z9NCivVvBSQC8Bt+fdJimZ9kwBaVJInD EewmdImNvbe5hfjdfTd1WX31Uhif6B4+d0V1/lFRuzUCCZBkJDa9BNs/F85aQ1Mr jCL5oskHV1FUuW/DcNtRyz2VsSbmWeAgA9rmcKIJ1ut8uUiIqR75JPSfMonzqfqK D8AsJ+t2Y3J74HxZOtBuwvAQh6dAxKjUd79+8cY8HfvlvwFwScjYxIKY3BKMe64p w67TvJJW9jNe/McDeRW6m9jg5NKwzfX3PawPA11Q1N3wSbUKg9Md/dDcC90+44WJ yn2h4lOVwoleLZx0hmPlBsf2PJRAy+bFAIIco057IWjCYMWCpj/CVSgoAWDQJqB2 SGOZGTzB2X1VaT3AuWrU7nPW6ikiR1KjjbtKbcLrAFvgA7tzfFHh6tcQZ3gtMwCV WIc3+9bqcpEKjlmsZBHYOYit1l3ZV2A7Lbj0KlloBqoOVIiSw+2rOdk1Uod8iUU4 OziXt70t+nxxWlUsyjYW =H/aM -----END PGP SIGNATURE----- --qDbXVdCdHGoSgWSk--