[102939] trunk/dports/graphics

Ryan Schmidt ryandesign at macports.org
Tue Feb 12 20:34:34 PST 2013

On Feb 12, 2013, at 07:09, Michael Dickens wrote:

> On Feb 11, 2013, at 10:34 PM, Ryan Schmidt wrote:
>> +subport qwt-devel {
>> +    version         6.1.0-rc3
>> +    distname        qwt-6.1-rc3
>> +    conflicts       qwt qwt52 qwt60 qwt-60
>> [snip]
>> +}
>> Should this be qwt61 instead of qwt-devel?
> Maybe.  Seems like there will likely be 6.1.1rcX somewhere down the
> line, since that's what this developer seems to do.  Also, keeping with
> the tradition of "FOO-devel" being "the latest" and "bleeding edge"
> version of FOO, this name works for me.  Sometime there will likely be a
> need for qwt61, which would "replace" this one at least temporarily.

>> Are you working on making these ports not conflict with one another? The naming convention qwtXY implies that they do not conflict.
> I already added the "conflicts" to all of these ports.  I could do file
> renaming so that they do not conflict, but that's not the goal here
> mostly because the API for each is somewhat different from the others
> and hence not fully API or ABI compatible.  That said, some dependents
> of the Qwt series can use any qwt[56] version since they are written
> specifically to do so.  The primary exception, thus far, seems to be
> pyXY-pyqwt, which works (in my testing) for Qwt5 only.

When there are multiple versions of a port, we have two possible naming conventions.

One is to have two ports: foo and foo-devel, with foo being stable and foo-devel being development or experimental. foo and foo-devel conflict with one another. Ports that declare dependencies on these ports do so in a way that either could satisfy it. (c.f. graphviz{,-devel}, pango{,-devel}, glib2{,-devel}, cairo{,-devel}, libpixman{,-devel})

The other is to have two or more ports fooXY, where XY is a part of the version number. The latest of these might not be stable yet, but will be in the fullness of time (c.f. php55, llvm-3.3, clang-3.3). The ports do not conflict with one another. Ports may declare dependencies on whichever version is required. Different ports can declare dependencies on different fooXY versions and they can all be installed simultaneously.

So, in the qwt ports, you are mixing and matching these two styles.

More information about the macports-dev mailing list