On Oct 4, 2018, at 12:05, Mark Brethen wrote:

> On Oct 4, 2018, at 11:57 AM, Ryan Schmidt wrote:
> 
>> On Oct 4, 2018, at 11:55, Mark Brethen wrote:
>> 
>>> There’s just one glitch, the name of the build directory is determined by 
>>> 
>>> BUILD = $(shell ../../scripts/findhost.sh $(shell src/config.guess))
>>> 
>>> I can set it after the extract phase like so
>>> 
>>> post-extract {
>>> set builddir [exec ${worksrcpath}/scripts/findhost.sh [exec 
>>> ${worksrcpath}/config.guess]]
>>> configure.dir ${worksrcdir}/${builddir}
>>> }
>>> 
>>> but then configure.dir isn't global for the config/build phases, is it?
>> 
>> That's correct.
>> 
>> Can you fix the build system so that it uses a predictable build directory 
>> name (such as "build"), and then use that name in the portfile?
> 
> I’d have to patch makefile and config.ac, at least.

Another option could be to patch findhost.sh.

> Can set variables be exported to global?  

Well I wasn't completely accurate. If you set configure.dir inside 
post-extract, it is set for all phases that run after that in this invocation 
of the port command. But you don't know for certain that the configure phase 
will run in this invocation of the port command. The user might run "sudo port 
extract yourport" (which in your example will set configure.dir) and then later 
run "sudo port configure yourport" (and configure.dir will be back to its 
default value). So don't set options in one phase and expect them to be 
available in another phase.

Reply via email to