From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:54927) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iyxiP-00071E-RN for guix-patches@gnu.org; Tue, 04 Feb 2020 07:54:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iyxiO-0007so-Q2 for guix-patches@gnu.org; Tue, 04 Feb 2020 07:54:05 -0500 Subject: [bug#39414] [PATCH core-updates 0/2] Clarify search path handling in commencement.scm Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:54082) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iyxhj-0006yc-TZ for guix-patches@gnu.org; Tue, 04 Feb 2020 07:53:24 -0500 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Tue, 4 Feb 2020 13:53:14 +0100 Message-Id: <20200204125314.27494-1-ludo@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 39414@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , janneke@gnu.org Hello Guix! The patch below for current ‘core-updates’ is an attempt to clarify search path handling in commencement.scm by: 1. Having ‘native-search-paths’ fields only for compilers—e.g., “C_INCLUDE_PATH” belongs to the compiler, not to libc. 2. Avoiding phases that manually fiddle with search path environment variables: normally, this is handled automatically by the ‘set-paths’ phase based on the declared search paths, so manual fiddling should be a last resort and it should be well commented so we remember why it’s there. This is an attempt to reduce complexity and keep things declarative as much as possible. I’ve tested it on top of 46312064de8ae0cca531fddbc4b5ec8421e5d866 and “guix build coreutils” succeeds. There’s another pattern that I found hard to follow that has to do with the reuse of build phases. For example, there’s a build phase named ‘setenv’ (perhaps we should find a more descriptive name :-)) in the various GCCs that is reused or replaced; when looking at a specific package, it’s difficult to see which phases it really runs because this particular phase is inherited and modified on several layers. If I can make time for it, I’ll see if I can come up with a proposal to clarify this, but at any rate, it’s probably something to keep in mind for future changes. Thoughts? (I’m particularly interested in your feedback, janneke!) Ludo’. Ludovic Courtès (2): gnu: commencement: Avoid hard-coded GCC version numbers. gnu: commencement: Rationalize search path handling. gnu/packages/commencement.scm | 201 ++++++++-------------------------- 1 file changed, 48 insertions(+), 153 deletions(-) -- 2.25.0