Subject: bug#39414: closed (Re: [bug#39414] [PATCH 2/2] gnu: commencement: Rationalize search path handling.)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 06 Feb 2020 17:49:02 +0000

Your bug report

#39414: [PATCH core-updates 0/2] Clarify search path handling in commencement.scm

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
39414: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=39414
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#39414] [PATCH 2/2] gnu: commencement: Rationalize search path handling.
From: Ludovic Courtès <[email-masked]>
To: Jan Nieuwenhuizen <[email-masked]>
Cc: [email-masked]
Date: Thu, 06 Feb 2020 18:48:11 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Pushed as 558b0bbe291b2f2cd38b7f4eadc827e2ed102c54!

Ludo'.

Subject: [PATCH core-updates 0/2] Clarify search path handling in commencement.scm
From: Ludovic Courtès <[email-masked]>
To: [email-masked]
Cc: Ludovic Courtès <[email-masked]>
Date: Tue, 4 Feb 2020 13:53:14 +0100
List-Id: <debbugs-submit.debbugs.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