[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
OSs.
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
patches].[[BR]]
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