Ryan Schmidt wrote:
No port should depend on a -devel version of a port, unless it will only
work with the -devel version. Usually this will not be the case.
Usually, a port will work with the current version of a port and the
latest development version. A port wanting to accommodate this situation
should use a different syntax for declaring the dependency. For example,
php5 can use the MySQL libraries, but works fine with either mysql5 or
mysql5-devel. Instead of declaring the dependency as "port:mysql5", php5
should depend on a specific file installed by both mysql5 and
mysql5-devel, like this: "path:${prefix}/bin/mysql_config5:mysql5". This
says that php5 requires the file mysql_config5 to exist in the MacPorts
install prefix bin directory, and if it does not exist, then install the
mysql5 port. If the user wishes to use mysql5-devel instead, he simply
installs mysql5-devel beforehand, then installs php5, and php5 will
recognize that mysql5-devel satisfies the dependency. (I know php5 does
not do this yet; this is ticket #13469.)
This is just not good behaviour. Instead of defining dependencies on
single files we should find a way to eventually support multiple
versions per port. With this, php5 could depend on port:mysql5 and the
mysql5 port provides stable or unstable. But it should not be limitde to
just a few hardcoded versions. It should be possible to provide as many
versions as needed for a single port.
Multiple port version could share some basics like name, homepage,
description, variants and so on in a single file.
In my opinion if a port provides the same files and installs the same
software (but in another version) it should be the same port.
Even more, we could extend the dependency syntax and allow depending on
versions.
Examples:
port:foo@>=1.0 (depend on any greater version)
port:[EMAIL PROTECTED] (depend exactly on a specific version)
port:foo@<2.0 (depend on an earlier version)
Basically, any of <, <=, =, >=, > should be possible. It could also
become possible to require specific variants with some syntax.
I know, there would be a lot of base work needed for something like this
to be fully usable, but I think it would be the best solution for the
future to solve all the problems with -devel ports.
Rainer
_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo/macports-dev