From mboxrd@z Thu Jan 1 00:00:00 1970 From: L p R n d n Subject: Re: Parameterized packages Date: Fri, 17 Jan 2020 10:15:12 +0100 Message-ID: <875zhabg0v.fsf@lprndn.info> References: <8736ldq74z.fsf@netris.org> <20190719202906.lbanx5puk7t6q4cr@cf0> <87a7753boq.fsf@ambrevar.xyz> <87h813wah0.fsf@gnu.org> <87v9piut40.fsf@ambrevar.xyz> <87o8v5ukgb.fsf@ambrevar.xyz> <87d0blhr9s.fsf@ambrevar.xyz> <20200116190644.uytvzvypuvdwh2iq@n0> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:47054) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1isNiv-0005iC-G9 for guix-devel@gnu.org; Fri, 17 Jan 2020 04:15:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1isNir-0005im-IB for guix-devel@gnu.org; Fri, 17 Jan 2020 04:15:23 -0500 Received: from mout02.posteo.de ([185.67.36.142]:37805) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1isNir-0005dc-BP for guix-devel@gnu.org; Fri, 17 Jan 2020 04:15:21 -0500 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 029F42400FD for ; Fri, 17 Jan 2020 10:15:13 +0100 (CET) In-Reply-To: <20200116190644.uytvzvypuvdwh2iq@n0> (ison@airmail.cc's message of "Thu, 16 Jan 2020 12:06:44 -0700") 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: ison Cc: guix-devel@gnu.org Hello! Also followed the thread from a little far away. It's probably an awfull idea (I don't even know if it's possible) but throwing in different perspetives migh give birth to new ones so here I go. Instead of thinking in terms of use flags or parameterized packages maybe using something that I would call "modificators" might be an idea. I see it as some kind of list of funtions modifying packages (If it's clear?). The main differences would be that the package definitions would be left untouched and that modificators' definitions would be centralized keeping the complexity and the maintaining burden away. Something like modificators maintainer might emerge then? That could look like: (define-modificator headless `((xorg (modify-package xorg ...)) or something replacing a package directly without introducing new syntax: (xorg (package (inherit xorg) ...)))) Then givin a list of packages, apply a modificator to it and get a modified list of packages? Hope it helps, Have a nice day, L p R n d n