From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Marusich Subject: Re: Package request inxi Date: Thu, 12 Apr 2018 01:25:48 -0700 Message-ID: <877epcesqb.fsf@gmail.com> References: <87h8p0wb6m.fsf@gmail.com> <87woxwkypg.fsf@gmail.com> <874ll09kn6.fsf@gmail.com> <87po353efj.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49931) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f6XYO-00007h-Mo for help-guix@gnu.org; Thu, 12 Apr 2018 04:26:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f6XYJ-0002VL-L6 for help-guix@gnu.org; Thu, 12 Apr 2018 04:26:00 -0400 Received: from mail-pl0-x22d.google.com ([2607:f8b0:400e:c01::22d]:34403) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f6XYJ-0002Uq-EG for help-guix@gnu.org; Thu, 12 Apr 2018 04:25:55 -0400 Received: by mail-pl0-x22d.google.com with SMTP id y12-v6so3400833plt.1 for ; Thu, 12 Apr 2018 01:25:55 -0700 (PDT) In-Reply-To: <87po353efj.fsf@gmail.com> (Pierre Neidhardt's message of "Wed, 11 Apr 2018 21:47:52 +0530") 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: Pierre Neidhardt Cc: help-guix --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Pierre Neidhardt writes: > I'm trying to package inxi. Does guix support optional dependencies? Can you describe the "optional dependencies" in a little more detail? Will certain features of inxi be available or unavailable depending on whether or not a specific dependency is present during the build? Or perhaps at when running inxi after it has been built? If by "optional dependency" you meant "an item of software that, when present during the build, will enable a certain feature of inxi," then the answer is: you should probably just write a package definition that choose a reasonable set of inputs and configure flags as the default. In Guix, it is possible to define a second package that "inherits" attributes from the first but also has customized attributes. Since this is scheme, it is also possible to define a procedure that generates a customized package. Those are two popular ways to deal with this kind of "optional dependency." It's also worth mentioning that even if you accidentally specify an input that isn't actually used, it isn't all bad. Such inputs will clutter up places like the package graph, and they will increase the build time because they need to be built first (even though they are not used). However, they won't show up in the package's output, so they will not contribute to the total size of the built package. =2D-=20 Chris --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAlrPGAwACgkQ3UCaFdgi Rp3aWw/+OodFJHzn0djDH6yuo4FZ+QelSLr53IiABACma83IQ1MCHynO6aEIKQSj hoQVzJRfZked2DEUZw7o7LvMF+3l1O3Q/+FVhmNblWIRyVLoLfnenj7bQ/6Ga435 YCRFWocSPujB0QnRUavXt46qrm/ex8FQbKbn12TJ4ig3tH7D/yGdC7lc70vymVmJ GJBxHjD2D3FS8WAx5Mhe4lq0ymQ3cG0Ik9zpsu671cVL/d89GB+ElupUl0yw/S3V 7IvRzTWpq4F6qIsN9bSKTvuS0jHdp9X3N/I6GsusBp/SoinAkhuUarks/JMVvaY8 frkaDoGQHhgE2oO/bAma47JNxKkD1oWmXHCpbbBO1+8tU6xaWefqH0V0NlH1hWAq 5YWBSX+SiynldMGIfudd8/wqOex95yTJWcwyhX6aD+HW29pEq5hTIOPZOzjhn802 tGizOHjbPnTw5CympRpo2NDHyol9hs07xPGtFVWlq5jZEKdwMGLElRbZZ3Q/8yP+ xtT9moRZ/+ANFDxsWJkG38Y8Yv0n7RheMT1lpNRLy75D7+lU+e818knrgR6j+jGh eObCERtw8Ul+62yD8Ofd6tCwmtTpkvUKc83PSZgV1ZtlCpzXo5wTBlG+IChKMcqV cwFiPUxT9nfA9mR4QPdbXYydT98XcH/d2TzXhlJOP24UHISYUvA= =p6kP -----END PGP SIGNATURE----- --=-=-=--