On Sat, 19 Jun 2010 22:02 -0500, "Ryan Schmidt" <[email protected]> wrote: > What files are being "select"ed, and will this affect any ports that > depend on Qt? Remember, it should never be required for the user to > install *_select and to use it to select anything for a port to > successfully install.
All good questions / observations; good to have this discussion before I get to that point in Portfile mods. The files being selected are pretty extensive, I think, but I need to test out what really needs to be selected for the various versions before I can say exactly. You can look at dports/aqua/qt4-mac/files/qt4-mac to see what files someone else thought needed to be selected. The only difference between the current and my expected behavior is that -all- of the pkg-config .pc files will be installed by any selected qt4-* install -- current behavior is that qt4-x11 installs the non-debug versions while qt4-mac installs the debug versions only. This current behavior does not easily work with other ports (e.g., gnuradio), and nor IMHO does the split make sense: I want to use the non-debug cocoa version only, but in order to do so I need to direct pkg-config to a very non-standard install location and/or hack the portfile to install all of the .pc files. Each qt4-* will require the same selected files & each set will conflict with the other sets. That said, as a developer I might want to try to develop using qt4-mac, but then test with qt4-x11 and qt4-mac-devel to verify cross-compatibility. IMHO it's more convenient to use "qt4_select" instead of "activate" and "deactivate" ... but, this type of "select" is a little different that provided for Python and GCC since there are system defaults of those but not of Qt. Regarding the required or not use of *_select: 1) OSX has no system-provided install of Qt (e.g., as it does with Python), so there is no "default" select. I see the use of "qt4_select" as a means for switching between multiple installed qt4-X ports. If just one is installed, then it should be selected by default. Any subsequent installs of qt4-Y (with Y != X) would require the use and install of "qt4_select". Upgrading qt4-X should not change the need for qt4_select. 2) Right now, when a *_select is installed it does the 'post-destroot' default selecting of Apple's versions. In order for the first qt4-* to be selected, it must have runtime dependency on 'qt4_select' -- to make sure 'qt4_select' is already installed so that it can be executed as a 'port-destroot' of the qt4-* port. So, unless someone can think of a better way to do this, this is what I'll do. - MLD _______________________________________________ macports-dev mailing list [email protected] http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev
