[MacPorts] #25321: configure.env variables overwritten between pre-configure and configure stages (was: configure.env variables truncated between pre-configure and configure stages)

MacPorts noreply at macports.org
Fri Jun 18 11:57:20 PDT 2010


#25321: configure.env variables overwritten between pre-configure and configure
stages
-------------------------------------+--------------------------------------
  Reporter:  michaelld@…             |       Owner:  macports-tickets@…                   
      Type:  defect                  |      Status:  closed                               
  Priority:  High                    |   Milestone:                                       
 Component:  base                    |     Version:  1.9.0                                
Resolution:  invalid                 |    Keywords:                                       
      Port:                          |  
-------------------------------------+--------------------------------------

Old description:

> See ticket #25320 comment 3 and 4.  This truncation might also occur
> between other pre- and regular stages; I haven't checked for those.

New description:

 See ticket #25320 comment 3 and 4.  This overwriting might also occur
 between other pre- and regular stages; I haven't checked for those.

--

Comment(by michaelld@…):

 Yes, I realized that this ticket is closed, but I want to correct the info
 for future reference.
 ----
 Playing with the compiler.cpath (via the qt4-mac Portfile), it looks like
 what was going on is:

 (0) environment variable CPATH was being set in configure.env correctly.
 Yes, I know this is the not the correct way to do it, but that's the way
 the Portfile has worked for quite a while now; I'm just inheriting its
 behavior.

 (1) compiler.cpath was not being set, and so defaults to
 "${prefix}/include" alone (without ""s).

 (2) when creating the environment for the 'configure' stage, the
 compiler.cpath entirely overwrites whatever is in the configure.env's
 CPATH variable.

 I don't know if the above is desirable behavior or not, but: Given that
 qt4-mac worked by setting the configure.env CPATH variable once upon a
 time, the above represents a change in Portfile interpretation that was
 (AFAICT, stealthily) detrimental to the qt4-mac port -- and might be to
 other ports as well.

 Is it possible to modify whatever routine is tweaking the configure.env
 (or XX.env) between the 'pre-configure' and 'configure' stages (or 'pre-
 build' and 'build', etc), such that it either (1) merges the CPATH (or
 other variable, etc) from both the compiler.cpath (etc) and the
 configure.env; or (2) prints out a warning that the CPATH (etc) variable
 is being overwritten, and to use compiler.cpath (etc) instead?  Either
 might be a tall order, but something needs to happen IMHO: stealthily
 overwriting will only add confusion to Portfile behavior.

-- 
Ticket URL: <http://trac.macports.org/ticket/25321#comment:6>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list