[macports-mgr] Dependencies and variants
Paul Guyot
pguyot at kallisys.net
Thu Nov 6 02:27:54 PST 2008
Le 6 nov. 08 à 10:44, Ryan Schmidt a écrit :
> I would still like this discussion to take place on macports-dev,
> not macports-mgr.
True.
A quick summary for macports-dev: the discussion is about r41526 and
r41527, i.e. allowing a new syntax for dependencies in the next
release without actually implementing them. The idea is to allow work
and testing for bug #126 (dependencies should take variants into
consideration) on trunk, with ports in trunk using the new syntax but
remaining compatible with released base/. Experience with livecheck
showed that if we wait for the implementation to support the syntax,
we will need several releases to get it right and get the new syntax
adopted by maintainers. I asked portmgr to consider it for the next
release, and portmgr asked what I had in mind for the syntax, since
there is just no implementation or guideline in r41526 and r41527. To
what I replied that I prefer not to force any syntax for many syntaxes
came up in the past for #126, and my belief is that it's eventually up
to whoever implements that. Therefore, the changes allow for :
depends_* port:[whatever:]port_name
where we currently have
depends_* port:port_name
as this is coherent with the current depends_* lines.
It also allow for a new syntax
depends whatever
if whoever works on #126 wants to get rid of the old depends_* syntax
for more freedom. While I would just be happy with whatever comes up
that fixes #126, I argued that depends_* were somewhat ugly and
confusing.
> I don't see why depends_* is ugly or should be abandoned.
:)
> depends_build is for things which are needed to build the software.
> Note: this is not only the build phase, but (in MacPorts trunk) any
> phase involved in building the software, including fetch, extract,
> and configure. (I think I'm remembering that right.)
AFAIK, no dependency is processed for extract and fetch. In other
words, all ports that use fetching using git on 10.5 and fetching
using svn and git on 10.4 just don't fetch with trace mode enabled.
> Things declared as depends_build can be uninstalled after the port
> is installed with no ill effects. The others cannot. Putting all
> dependencies into a single "depends" negates this possibility.
Depends how the depends syntax is designed. It could be:
depends {
build { awk }
lib { glib2 }
run { evince }
}
Paul
More information about the macports-dev
mailing list