[MacPorts] #44193: qt: allow side by side installation of qt4-mac and qt5-mac

MacPorts noreply at macports.org
Sat Oct 3 12:18:42 PDT 2015


#44193: qt: allow side by side installation of qt4-mac and qt5-mac
-------------------------------+------------------------
  Reporter:  mojca@…           |      Owner:  mcalhoun@…
      Type:  enhancement       |     Status:  new
  Priority:  Normal            |  Milestone:
 Component:  ports             |    Version:
Resolution:                    |   Keywords:
      Port:  qt4-mac, qt5-mac  |
-------------------------------+------------------------

Comment (by rjvbertin@…):

 Thanks Bradley...!

 Replying to [comment:62 mojca@…]:

 > So if I understand properly, installing both ports (your new qt[45]-mac)
 as well as the transitional subport will make sure that all the ports that
 haven't been fixed and/or rebuilt yet will happily keep working? And the
 transitional subport will only be a problem when building other ports
 against qt5? If that is so, the transition might be a lot less painful
 than what I imagined.

 More or less. I never made a transitional variant or subport for qt5-mac
 because there were so many (and even fewer *big*) ports that depend on Qt5
 and to be honest, because I had none installed.
 But yes, install my qt4-mac-devel + qt4-mac-devel-transitional, and all
 your existing Qt4 dependent ports will keep working, and port rev-upgrade
 won't see a single problem. That was a requirement for me to start working
 on a Qt4 port, so it's the first thing I made certain worked as it should.
 It's very simple really; the subport installs symlinks to everything in
 the new Qt frameworks directory into ${prefix}/Library/Frameworks (and
 "fake dylibs" into ${prefix}/lib) where those items were installed by the
 older exclusive port.[[BR]]
 Where you're wrong is that the transitional Qt4 subport is no problem for
 building other ports against Qt5. It's possible that even an equivalent
 Qt5 transitional subport would NOT clash with the Qt4 transitional port
 because Qt5's libraries and frameworks have different names

 Where things can go awry installing qt4-mac-devel and qt4-mac-devel-
 transitional is when `rev-upgrade` starts rebuilding between those 2
 installs. That never happened to me, but I always installed them both in a
 single command, i.e.

 `port install qt4-mac-devel [+variant(s)] qt4-mac-devel-transitional`

 I've had some opportunity to double-check what I said earlier, and indeed:

 * deactivate qt4-mac-devel-transitional followed by a rev-upgrade to have
 a break-down of ports not rebuilt against the new concurrent Qt4 install.
 This also suggest that a rev-bump won't even be necessary.
 * reactivate qt4-mac-devel-transitional, and rebuild the listed ports one
 by one (e.g. with `port -ns upgrade --force foo` will make them depend on
 the new install layout

 I haven't had time to rebuild all Qt4 dependents that still require
 rebuilding, but I see no reason to assume that qt4-mac-devel-transitional
 will still be required afterwards.
 Except of course to remain compatible with binary packages of Qt4 ports I
 haven't installed yet.

 > Potentially the qt4-mac-devel could be called qt4?

 It could. Or qt4-devel, if we suppose that it has some kind of development
 nature.

-- 
Ticket URL: <https://trac.macports.org/ticket/44193#comment:65>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list