[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