From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id wM/+EU4xXWTAOAEASxT56A (envelope-from ) for ; Thu, 11 May 2023 20:17:50 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id uPMUEk4xXWRrLwAA9RJhRA (envelope-from ) for ; Thu, 11 May 2023 20:17:50 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 8C5CA28B44 for ; Thu, 11 May 2023 20:17:49 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pxAr5-0006jj-Dq; Thu, 11 May 2023 14:17:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pxAr3-0006jY-BJ for guix-devel@gnu.org; Thu, 11 May 2023 14:17:30 -0400 Received: from mx1.riseup.net ([198.252.153.129]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pxAqj-0000hN-T6; Thu, 11 May 2023 14:17:19 -0400 Received: from fews01-sea.riseup.net (fews01-sea-pn.riseup.net [10.0.1.109]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx1.riseup.net (Postfix) with ESMTPS id 4QHKqL6zDdzDr44; Thu, 11 May 2023 18:17:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1683829025; bh=8XDXiim7SWnEq/BR6QSiu4ruy0tRP4IzDsUULLQM4uE=; h=References:From:To:Cc:Subject:Date:In-reply-to:From; b=LxJRbCphh5AunNbjxBd7zfjYStT/m3nFcpsJcYScOYMAe45sq+2mh9BZgWMz93Og6 Wsue2Q7N6H4LdOwf/HMvGeJ9dswe6sZ0vCrBiPovCPrg76KsKpqB4aa8ExfkLv8URO 2qt4QQmj4N6rCO4R2Q6DuqH/ygTigWrVQ2xf1yUE= X-Riseup-User-ID: C3706C2CF246674D8EADD0BE47BEA829C86E7CFB96A856504F6B16219CE8B18C Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews01-sea.riseup.net (Postfix) with ESMTPSA id 4QHKqK4QB3zJnFh; Thu, 11 May 2023 18:17:01 +0000 (UTC) References: From: Csepp To: Sarthak Shah Cc: =?utf-8?Q?G=C3=A1bor?= Boskovits , Pjotr Prins , Ludovic =?utf-8?Q?Court=C3=A8s?= , guix-devel@gnu.org Subject: Re: Discussion on Parameterized Packages Date: Thu, 11 May 2023 20:04:52 +0200 In-reply-to: Message-ID: <87o7mqrawc.fsf@riseup.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=198.252.153.129; envelope-from=raingloom@riseup.net; helo=mx1.riseup.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list 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+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1683829070; a=rsa-sha256; cv=none; b=jnHMhSYfxTgKplL2gRZ/D3SzyI0pgSLPtcwfMD8cFuOCsi8rFli+SZdnDBolsjhBhJE+wR swOCsplIO91z08ozn9f4T6bNMu+nCVe+u5ShowKSOwQ4vn0Bs7IOwiVpkGGjzSQ6gfDqeM ImROf3DBBL6fW5RZ9qK3byitRWgSt4ysb83yZJ0jPOYborzcmIFofH66R50zByWpsr9eOf diy6YP07+8Fu70Uct+j3OlYzPP+/nxAL0Hc++zpRLEC1RZXQFDqYSsy4xHUe3POWSSoXyz Vo0dBt5rmBSEB97UM5sejRz+RFYkA4xrD7eRoGuQd6jf9P8D3SNFUmKy77e4zg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=riseup.net header.s=squak header.b=LxJRbCph; dmarc=pass (policy=none) header.from=riseup.net; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1683829070; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=2Hda1ZsrzcSB0oYOIz4IFsEKdX+HBXXPZpx2Jv/Hhpw=; b=GyNOyw7jkioAmRk7/oEDhtXsjXnqCUgTQaQjb1yr2TpDDHAScKnIpPUq12OO/VnUXyxMJ7 Whf0d2ysJ+/63TSdv62dhwjXa90N7ejT3/0WvluaZ+waXXnXu67Q5wlBc4T369DZUuq4cO Z+MWzx3IyozaoEiS/tg94JTLx+t+hLxENMNPpaE5zrrK63bFjy0eKpJONKCNoLN9CVv3yq 1Ud4L+WpSncDn9/RKaPgrVDz/eNkGZeHZO9CrqyUfRlYYPilP/r890jxXDPwtwi9/TDrHc xgCxss/ca/CXLpiesJCt3LWH2FbfnFp3n/0Ib6czqPUEaqv4CjSfRSKjM/WE3A== X-Migadu-Spam-Score: -10.03 X-Spam-Score: -10.03 X-Migadu-Queue-Id: 8C5CA28B44 X-Migadu-Scanner: scn0.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=riseup.net header.s=squak header.b=LxJRbCph; dmarc=pass (policy=none) header.from=riseup.net; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-TUID: WaG1Q13BgUl6 Sarthak Shah writes: > Hello Guix! > I'll be working on bringing Parameterized Packages to Guix for GSoC 2023 = under the guidance of G=C3=A1bor and Pjotr. I've been a Guix user for a > few years now as it works great for Common Lisp and Scheme projects, and = I've always wanted to contribute to it as it has one of the best > codebases I've seen. Parameterized Packages will serve as an awesome feat= ure that leverages Guix's dedication to ensuring that all packages > can be compiled from source. > Parameterized Packages will introduce functionality similar to Gentoo's U= SE flags, making it possible to change compile-time options for > packages. This will provide users with a lot more freedom over what featu= res they'd like to include or exclude from packages, and also aid > with reducing the size of binaries. > I have provided a detailed outline of parameterized packages and the prop= osed user interface for interacting with them (for both users and > maintainers) in this post on my blog: https://blog.lispy.tech/2023/05/par= ameterized-packages.html > I would really appreciate feedback on > (1) parameters you'd like to see in Guix A hardening flag would be very welcome, I think Guix definitely needs to be much more serious about this if we want it to be used widely for hosting internet facing services. NixOS already has hardening by deafult as far as I know. Also I think a lot of flags you mentioned would be better expressed as outputs, both to avoid combinatorial explosion for testing, and so people don't have to re-build everything. Or at least they should be implemented with outputs underneath. I think Alpine solve this very well, they split packages up by functionality, and also make it very easy to install certain subpackages of all packages by just installing a virtual package, like "doc". The idea of using flags to reduce package sizes is good, but let's not do it at the expense of CPU hours. TLDR: we should avoid big recompiles when changing flags.