call script from Portfile?

Bradley Giesbrecht brad at pixilla.com
Tue Sep 7 12:19:54 PDT 2010


On Sep 7, 2010, at 8:56 AM, Titus von Boxberg wrote:

> Am 01.09.2010 um 08:29 schrieb Ryan Schmidt:
>
>>
>> On Sep 1, 2010, at 01:09, Titus von Boxberg wrote:
>>
>>> Is there a phase when both the port is activated and the build  
>>> directory
>>> is still in place? Is there a thing like post-activation ?
>>
>> Yes, you can write a post-activate phase. But that's not the  
>> correct place to do the type of fix you're proposing. The correct  
>> place is probably the post-build phase. You can look at the oracle- 
>> instantclient for a (convoluted) example of calling  
>> install_name_tool in a portfile (it does it in the build phase, but  
>> you probably have an existing build phase you don't want to  
>> overwrite, so you probably want post-build instead).
>>
> Just to refresh the thread:
> The original question was if and when to call an external script  
> that calls install_name_tool
> which is necessary for wxWidgets-devel.
>
> I figured that it would be easiest to define a post-install phase.
> Then the already existing script from wxWidgets can be called  
> without modifications.
> That cannot be done in the post-build phase. In this phase I would  
> have to patch
> the script or handcraft the call of install_name_tool like in oracle- 
> instantclient
> which imo would only clutter the Portfile if there is a oneliner at  
> hand.
>
> Is there a variable that defines the installation directory for the  
> port?
> I.e. the path ${prefix}/var/macports/software/.../${prefix}?
> Or maybe only the ... component? Or at least a variable holding all  
> variants?
>
> And why would the post-activate phase not be the correct place to  
> call change_install_name?
> Is a port ever used before activation?

I'm not sure when but at some point port registers the files  
installed. If you change the names of files after this point the  
commands like "port uninstall", "port contents" and "port provides" be  
adversely effected.

I would think that post-destroot is probably the last good phase for  
changing disk.

// Brad



More information about the macports-dev mailing list