On Sep 7, 2010, at 12:34 PM, Titus von Boxberg wrote:
Am 07.09.2010 um 21:19 schrieb Bradley Giesbrecht:
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'm not changing the names of the files.
port uninstall works well with this type of post-install script.
I only do not know how to get the path to the installation directory
because one component in it depends on variants selected.
In which ever phase you want to work you can add some "if
[variant_isset myvariant]" logic.
man portfile
/variant
// Brad
_______________________________________________
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev