From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pierre Neidhardt Subject: Re: Parameterized packages Date: Fri, 10 Jan 2020 13:29:19 +0100 Message-ID: <87k15zwl40.fsf@ambrevar.xyz> References: <87woitz1xx.fsf@gnu.org> <87o945vze5.fsf@nckx> <8736ldq74z.fsf@netris.org> <20190719202906.lbanx5puk7t6q4cr@cf0> <87a7753boq.fsf@ambrevar.xyz> <877e20ansg.fsf@ambrevar.xyz> <875zhk1avo.fsf@devup.no> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:45986) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iptPo-0006EB-Vn for guix-devel@gnu.org; Fri, 10 Jan 2020 07:29:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iptPn-0003cd-I7 for guix-devel@gnu.org; Fri, 10 Jan 2020 07:29:24 -0500 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:43281) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iptPn-0003TJ-88 for guix-devel@gnu.org; Fri, 10 Jan 2020 07:29:23 -0500 In-Reply-To: <875zhk1avo.fsf@devup.no> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane-mx.org@gnu.org Sender: "Guix-devel" To: Marius Bakke Cc: guix-devel@gnu.org --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi Marius! Marius Bakke writes: > Having used Gentoo for some years, I'm not sure a "global" parameter > system is desirable. It could encourage enabling feature "foo", even > for packages that have experimental or broken support for "foo". That said, the recursive activation of parameters that you mention below has the same "compatibility" drawback (that I mentioned in my previous email) as global parameters. More below: > (inputs > `(("foo" ,foo)) > ("bar" ,(with-parameters ((pulseaudio . #f)) bar))) > > We could have a similar procedure that recursively toggles supported > parameters of all given packages. Breaking example: =2D-8<---------------cut here---------------start------------->8--- (with-recursive-parameters ((pulseaudio .#f)) bar) =2D-8<---------------cut here---------------end--------------->8--- with `bar' breaking if one of its dependencies has pulseaudio disabled. To be usable, we would need something to say "build bar and all its inputs without pulseaudio, except for some given packages". While this is OK with 1 parameter, it's quickly gets much more complicated when packages have multiple parameters that maybe conflict with one another. Does that make sense? Both from the packager and the user point of view, this is the combinatorial problem of what sets of parameters are compatible. (Same problem on Gentoo) I can't think of a way to fix this beside the packagers encoding themselves each set that works. > Actually we can abuse the 'properties' field for this purpose without > having to change anything. Can you detail what do you have in mind? Earlier in this thread it was mentioned that leveraging `properties' would not be a good idea. Cheers! =2D-=20 Pierre Neidhardt https://ambrevar.xyz/ --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAl4Ybh8ACgkQm9z0l6S7 zH9BmQgAjbDtQNfJU5oKJ0rqrsCJL9KX/wOnSSXsEMbKVAJeD5BUxQZRcy4AXHYv fWUwbIBB+xfN5c3bPCFHNYF8bhSsF1hBF49ls151RPsKARQDEcbS1T6HHs17jO2s 3QFPte08LMbUAGot3fcOsgLGGOmOmV0IdcXaFRfy6LXREEAiITFOz8PTFXd9MvjM 2ZGSU9WRoL8RX3HvDhfVpSgMMp4dfBr80GGtAGC8KLDgvJlqG9xvPZYbC9Z/ydc9 qDOCEu53iI3ACfmpijI2zgs7tG4cDFnFxopy7T3XbF8bNkItkLCvfRD/OWtELjvC pKd6nZlzZt7R1L9/33TY92mnAgvC+g== =PAwn -----END PGP SIGNATURE----- --=-=-=--