On Feb 24, 2011, at 15:58, [email protected] wrote:
> Revision: 76478
> http://trac.macports.org/changeset/76478
> Author: [email protected]
> Date: 2011-02-24 13:58:33 -0800 (Thu, 24 Feb 2011)
> Log Message:
> -----------
> Updated redo to 0.06. Docs can no longer be pulled from git, so added python
> dependencies to doc variant.
> depends_lib bin:python:python_select
> variant doc description {Build and install man pages} {
> - # The documentation requires pandoc to build...
> - #depends_build bin:pandoc:pandoc
> - # ... but if we don't have pandoc already installed, we can just grab
> - # the pregenerated documentation.
> - post-fetch {
> - if {[file isfile "${prefix}/bin/pandoc"] == 0} {
> - system "cd ${worksrcpath} && ${build.cmd}
> Documentation/git-import"
> - }
> + # The documentation requires some python modules to build
> + depends_build port:py27-beautifulsoup port:py27-markdown
> + # make sure we use macports python, since that's required to build docs
> + configure {
> + eval reinplace "s|#!/usr/|#!${prefix}/|" [glob ${worksrcpath}/*]
So, for one thing, the configure phase you've added here in the doc variant is
the same configure phase you already have in the python_select variant. What
happens if the user selects both of these? Instead, why not make the doc
variant depend on the python_select variant and remove the duplicate code from
the doc variant?
Second, the a problem with this strategy in the first place is that you're
declaring a dependency on the binary "python", and telling MacPorts to install
python_select if it can't find one, and then making the scripts run
"/opt/local/bin/python". But /usr/bin/python will satisfy the dependency;
MacPorts would never install python_select in response to this dependency
declaration.
Third, just installing "python_select" doesn't create /opt/local/bin/python;
the user would have to run python_select and select a particular python to make
that work. The python selected by python_select is supposed to be for the
user's use only; ports installed by MacPorts should not be trying to make use
of that. Instead, ports should depend on a specific version of python, and use
that python binary.
_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev