[MacPorts] #51619: qt5.depends_component procedure

MacPorts noreply at macports.org
Thu Dec 29 18:13:48 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 MarcusCalhoun-Lopez):

 Please correct me if I am wrong, but we have three major design goals:
 1. Allow the installation of older versions of Qt to accommodate older
 1. Support a patched version of Qt which is necessary to be used with KDE.
 1. Minimal disruption of ports that use Qt.

 Here are the options I can determine:
 1. Let the user decide which Qt to install with reasonable defaults.
  * This seems to be the current path.
  * Runs contrary to ReproducibleBuilds and MacPorts philosophy in general.
  * There might be (and probably are) any number of ABI comparabilities
 that we don't know about.
 1. Variants (`qt5`, `qt56`, `qt5-kde`) defined in `qt5-1.0.tcl` to
 conflicting Qts.
  * The various GTK ports had to jump through quite a few hoops with `+x11`
 vs `+quartz`. The various maintainers have done a wonderful job, but, from
 the outside, it looked like quite a bit of effort. I am not sure I want to
 have allot of `require_active_variants` in client ports.
 1. Variants (`qt5`, `qt56`, `qt5-kde`) defined in `qt5-1.0.tcl` to non-
 conflicting Qts.
  * Each Qt would be installed in its own location
 (`${prefix}/libexec/qt5`, `${prefix}/libexec/qt5-kde`, etc.)
  * Potentially, lots of `require_active_variants` in client ports.
 1. Completely separate `qt5` and `qt5-kde`
  * Each Qt would be installed in its own location
 (`${prefix}/libexec/qt5`, `${prefix}/libexec/qt5-kde`, etc.)
  * There would be a `qt5-1.0.tcl` and `qt5-kde-1.0.tcl` and each port
 would have decide which one to use.
  * Using `qt5-1.0.tcl`, the Qt version would be determined by the OS
 version and cxx_stdlib.
 1. Attempt to merge `qt5` and `qt5-kde`
  * The necessary KDE patches would be added via a variant in `qt5`.
  * The Qt version would be determined by the OS and cxx_stdlib.
  * `require_active_variants`might still be necessary in client ports, but
 probably not many.

 If I understand correctly, Mojca has raised serious concerns about (1),
 and René has objected to (2) and (3).[[BR]]
 Personally, I am leaning toward (4) or (5).[[BR]]
 I must admit, however, that I do not understand the various
 [https://github.com/RJVB/macstrop/tree/master/aqua/qt5-kde KDE
 René has [https://lists.macports.org/pipermail/macports-
 dev/2016-October/033944.html expressed reservations about (5)].

 Based on the numerous discussions we have already had, I thinks it is fair
 to say that a perfect solution is unlikely to present itself.[[BR]]
 I am willing to work on any of the solution, but my order of preference is
 (5), (4), (1), (2), then (3).

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

More information about the macports-tickets mailing list