[MacPorts] #50966: Qt5 PortGroup files; preparing for port:qt5-kde and the KF5 port family
MacPorts
noreply at macports.org
Thu Jan 26 09:33:13 UTC 2017
#50966: Qt5 PortGroup files; preparing for port:qt5-kde and the KF5 port family
---------------------------+----------------------
Reporter: RJVB | Owner: mkae
Type: update | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: qt5, qt5-kde |
---------------------------+----------------------
Comment (by RJVB):
Well, I am more or less obliged to "adopt" bits and pieces from Marcus's
port and PG, in order to keep things compatible, and from time to time I
also borrow one of his patches. He's welcome to do the same of course.
But from there to a merged port ... have you seen how complex the files
are?
The only sane and safe way I see to merge 2 such complex ports with such a
different internal organisation is one that just hides the fact there are
actually 2 ports, i.e. with a `Portfile` that does something like
{{{
if {[variant_exists kde] && [variant_isset kde]} {
source Portfile.qt5kde
} else {
source Portfile.qt5
}
}}}
but that will lead to warnings every time the port has to be run from the
registry because the "subPortfiles" won't be copied into the registry.
I'm also not so sure anymore that I see the advantage. Sure, if there were
only a single other Qt5 port we'd get only a single Qt5 port by merging
qt5-kde. But now there's also Qt55, and if port:qt5-kde were some kind of
exotic variant of port:qt5 you'd expect a port:qt55+kde too. And that's
not something I'm looking forward to maintain because there's already too
much in KF5 that requires Qt 5.6. In the future a similar situation would
almost certainly arise with Qt 5.6 .
There would also be the practical issue of activating or deactivating the
+kde variant. Normally one would expect to be able to do
{{{
sudo port activate qt5
}}}
and then select the +kde variant or another variant. That just won't work
given how `port:qt5` is a meta-port for `port:qt5-qtbase` etc. and
`port:qt5-kde-qtbase` etc. are stubports provided by a mostly monolithic
`port:qt5-kde`. Running `port activate qt5-qtbase` and selecting the +kde
variant would have almost the same effect as running `port deactivate
qt5-qtbase`.
The only way around that would be to overhaul port:qt5-kde so that it too
builds and installs all Qt components as subports, and I'm *really* not
inspired to do that. Not beyond the occasional new component that
represents a significant increase in build time and size of the main port
and that by definition isn't required by any existing port.
--
Ticket URL: <https://trac.macports.org/ticket/50966#comment:8>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list