[MacPorts] #51619: qt5.depends_component procedure

MacPorts noreply at macports.org
Thu Dec 29 08:07:04 CET 2016


#51619: qt5.depends_component procedure
---------------------------+----------------------
  Reporter:  RJVB          |      Owner:  mkae
      Type:  enhancement   |     Status:  assigned
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:
Resolution:                |   Keywords:
      Port:  qt5, qt5-kde  |
---------------------------+----------------------

Comment (by mojca):

 This doesn't make the variants unnecessary. If the buildbot built `octave`
 against `qt5-qtbase` and the user decided to install `qt5-kde`, then
 unless the two ports are fully ABI-compatible, this will still lead to
 problems.

 There's one more thing. There is a very small number of ports from Qt 5.6
 that breaks on 10.7, but even then most of them only break because they
 need C++11 and would probably work fine under `libc++` default. So a
 pretty large population of 10.7 users might be OK with 5.6, while some
 users with particular needs might opt for 5.5 on the same OS version to be
 able to support some specific ports. I can imagine the same situation on
 other OS versions and a different set of Qt versions.

 On the other hand I wouldn't even create a variant for Qt 5.7 on 10.6-10.7
 and I wouldn't create a variant for Qt 5.5 on 10.9 for example.

 Yes, variants are ugly, but probably the only way to make things work
 properly. (Just don't ask me how the user is supposed to switch between
 the variants. Actually having `qt55-*` co-installable with `qt56-*` at a
 different location would make things much easier and then users could even
 have both installed at the same time and pick a different variant for
 different ports if they would need that for some reason. We could perhaps
 one day install `qt55` with `stdlibc++` and `qt56` with `libc++` and then
 users of 10.7-10.8 could pick `qt56` for C++11 projects and `qt55` for
 everything else. Just brainstorming.)

 In `wxWidgets` I used:
 {{{
 #!tcl
 wxWidgets.setup wxWidgets-3.0 # or wxGTK-2.8 or anything else
 depends-lib     ${wxWidgets.port}
 }}}
 but
 {{{
 #!tcl
 qt5.depends_component qt5 qtwebengine
 }}}
 sounds OK to me. The components would then be selected based on the
 variant being used.

--
Ticket URL: <https://trac.macports.org/ticket/51619#comment:13>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list