* [gentoo-dev] Fwd: Heads up for Qt5
[not found] <CAB9SyzSY0beKPpYE3fW93RP7TbBCoDvMOGDj8oa=pN_rEEkPmA@mail.gmail.com>
@ 2012-07-28 5:22 ` Ben de Groot
2012-07-28 5:59 ` [gentoo-dev] " Nikos Chantziaras
0 siblings, 1 reply; 11+ messages in thread
From: Ben de Groot @ 2012-07-28 5:22 UTC (permalink / raw
To: gentoo-dev
Hi!
We are getting nearer to a Qt5 beta release. Although it has already
been postponed a couple of times, we should expect it some time this
summer. This means we will start to see packages offering Qt5 support.
Pesa has already done a terrific job preparing live ebuilds and
eclasses for building Qt5 (tho maybe not all modules may be ready at
this point). They are available in our overlay. This should be a good
starting point for eventual release ebuilds that will hit the official
tree later.
In preparation for that, we want to ask maintainers of all ebuilds in
the tree with dependencies on Qt4, to make sure that they have the
proper slot. Otherwise your package may pull in Qt5 while it may not
in fact support it. Kensington has already done a good job, and is
presently being assisted by johu, going thru the tree, hunting for
such ebuilds. So you may get pinged about this issue if one of your
packages is affected.
We ourselves have made this oversight in the past in qt4-build.eclass,
which used to have unslotted blockers. This means that Qt5 was
actually blocked as well. Pesa fixed this a while ago, but people will
continue to have the unslotted blockers stored in their vdb until they
re-emerge or update all qt4 packages. Our apologies for the
inconvenience...
I also want to notify you that we will be using the "qt4" and "qt5"
useflags to indicate optional support for the respective Qt versions.
And finally, I want to thank all my fellow Qt team devs for making it
such a pleasure to work together on improving users' experience of Qt
libs and apps.
--
Cheers,
Ben | yngwin
Gentoo developer
Gentoo Qt project lead, Gentoo Wiki admin
^ permalink raw reply [flat|nested] 11+ messages in thread
* [gentoo-dev] Re: Fwd: Heads up for Qt5
2012-07-28 5:22 ` [gentoo-dev] Fwd: Heads up for Qt5 Ben de Groot
@ 2012-07-28 5:59 ` Nikos Chantziaras
2012-07-28 6:27 ` Ben de Groot
0 siblings, 1 reply; 11+ messages in thread
From: Nikos Chantziaras @ 2012-07-28 5:59 UTC (permalink / raw
To: gentoo-dev
On 28/07/12 08:22, Ben de Groot wrote:
> In preparation for that, we want to ask maintainers of all ebuilds in
> the tree with dependencies on Qt4, to make sure that they have the
> proper slot. Otherwise your package may pull in Qt5 while it may not
> in fact support it.
This can be trouble if the application actually works with Qt5. It
might depend on Qt4 but has no problems with Qt5 (contrary to Qt3 vs
Qt4, Qt5 is mostly compatible with much of existing Qt4 code),
needlessly pulling-in Qt4. Many applications simply build and run as-is
and no code changes are necessary.
So what would be the methodology of making sure a package has the proper
slot?
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] Re: Fwd: Heads up for Qt5
2012-07-28 5:59 ` [gentoo-dev] " Nikos Chantziaras
@ 2012-07-28 6:27 ` Ben de Groot
2012-07-28 6:46 ` Davide Pesavento
2012-07-28 7:43 ` Ralph Sennhauser
0 siblings, 2 replies; 11+ messages in thread
From: Ben de Groot @ 2012-07-28 6:27 UTC (permalink / raw
To: gentoo-dev
On 28 July 2012 13:59, Nikos Chantziaras <realnc@gmail.com> wrote:
> On 28/07/12 08:22, Ben de Groot wrote:
>>
>> In preparation for that, we want to ask maintainers of all ebuilds in
>> the tree with dependencies on Qt4, to make sure that they have the
>> proper slot. Otherwise your package may pull in Qt5 while it may not
>> in fact support it.
>
>
> This can be trouble if the application actually works with Qt5. It might
> depend on Qt4 but has no problems with Qt5 (contrary to Qt3 vs Qt4, Qt5 is
> mostly compatible with much of existing Qt4 code), needlessly pulling-in
> Qt4. Many applications simply build and run as-is and no code changes are
> necessary.
>
> So what would be the methodology of making sure a package has the proper
> slot?
Obviously you would need to make sure that the package actually does
support Qt5. Then, as I see it, we could do either:
|| ( x11-libs/qt-gui:4 x11-libs/qt-gui:5 )
or:
qt4? ( x11-libs/qt-gui:4 )
qt5? ( x11-libs/qt-gui:5 )
Other thoughts?
--
Cheers,
Ben | yngwin
Gentoo developer
Gentoo Qt project lead, Gentoo Wiki admin
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] Re: Fwd: Heads up for Qt5
2012-07-28 6:27 ` Ben de Groot
@ 2012-07-28 6:46 ` Davide Pesavento
2012-07-28 6:56 ` Nikos Chantziaras
2012-07-28 7:43 ` Ralph Sennhauser
1 sibling, 1 reply; 11+ messages in thread
From: Davide Pesavento @ 2012-07-28 6:46 UTC (permalink / raw
To: gentoo-dev
On Fri, Jul 27, 2012 at 11:27 PM, Ben de Groot <yngwin@gentoo.org> wrote:
> On 28 July 2012 13:59, Nikos Chantziaras <realnc@gmail.com> wrote:
>> On 28/07/12 08:22, Ben de Groot wrote:
>>>
>>> In preparation for that, we want to ask maintainers of all ebuilds in
>>> the tree with dependencies on Qt4, to make sure that they have the
>>> proper slot. Otherwise your package may pull in Qt5 while it may not
>>> in fact support it.
>>
>>
>> This can be trouble if the application actually works with Qt5. It might
>> depend on Qt4 but has no problems with Qt5 (contrary to Qt3 vs Qt4, Qt5 is
>> mostly compatible with much of existing Qt4 code), needlessly pulling-in
>> Qt4. Many applications simply build and run as-is and no code changes are
>> necessary.
>>
>> So what would be the methodology of making sure a package has the proper
>> slot?
>
> Obviously you would need to make sure that the package actually does
> support Qt5. Then, as I see it, we could do either:
>
> || ( x11-libs/qt-gui:4 x11-libs/qt-gui:5 )
>
This is wrong because qt4 and qt5 are not binary compatible.
> or:
>
> qt4? ( x11-libs/qt-gui:4 )
> qt5? ( x11-libs/qt-gui:5 )
>
This is the only alternative AFAICS.
Thanks,
Pesa
^ permalink raw reply [flat|nested] 11+ messages in thread
* [gentoo-dev] Re: Fwd: Heads up for Qt5
2012-07-28 6:46 ` Davide Pesavento
@ 2012-07-28 6:56 ` Nikos Chantziaras
2012-07-28 7:09 ` Davide Pesavento
0 siblings, 1 reply; 11+ messages in thread
From: Nikos Chantziaras @ 2012-07-28 6:56 UTC (permalink / raw
To: gentoo-dev
On 28/07/12 09:46, Davide Pesavento wrote:
> On Fri, Jul 27, 2012 at 11:27 PM, Ben de Groot <yngwin@gentoo.org> wrote:
>> On 28 July 2012 13:59, Nikos Chantziaras <realnc@gmail.com> wrote:
>>> [...]
>>> So what would be the methodology of making sure a package has the proper
>>> slot?
>>
>> Obviously you would need to make sure that the package actually does
>> support Qt5. Then, as I see it, we could do either:
>>
>> || ( x11-libs/qt-gui:4 x11-libs/qt-gui:5 )
>>
>
> This is wrong because qt4 and qt5 are not binary compatible.
>
>> or:
>>
>> qt4? ( x11-libs/qt-gui:4 )
>> qt5? ( x11-libs/qt-gui:5 )
>>
>
> This is the only alternative AFAICS.
In that case, if Qt5 is installed, the application might depend on Qt4,
but when building it, might link against Qt5.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] Re: Fwd: Heads up for Qt5
2012-07-28 6:56 ` Nikos Chantziaras
@ 2012-07-28 7:09 ` Davide Pesavento
0 siblings, 0 replies; 11+ messages in thread
From: Davide Pesavento @ 2012-07-28 7:09 UTC (permalink / raw
To: gentoo-dev
On Fri, Jul 27, 2012 at 11:56 PM, Nikos Chantziaras <realnc@gmail.com> wrote:
> On 28/07/12 09:46, Davide Pesavento wrote:
>>
>> On Fri, Jul 27, 2012 at 11:27 PM, Ben de Groot <yngwin@gentoo.org> wrote:
>>>
>>> On 28 July 2012 13:59, Nikos Chantziaras <realnc@gmail.com> wrote:
>>>>
>>>> [...]
>>>>
>>>> So what would be the methodology of making sure a package has the proper
>>>> slot?
>>>
>>>
>>> Obviously you would need to make sure that the package actually does
>>> support Qt5. Then, as I see it, we could do either:
>>>
>>> || ( x11-libs/qt-gui:4 x11-libs/qt-gui:5 )
>>>
>>
>> This is wrong because qt4 and qt5 are not binary compatible.
>>
>>> or:
>>>
>>> qt4? ( x11-libs/qt-gui:4 )
>>> qt5? ( x11-libs/qt-gui:5 )
>>>
>>
>> This is the only alternative AFAICS.
>
>
> In that case, if Qt5 is installed, the application might depend on Qt4, but
> when building it, might link against Qt5.
>
>
No, that would be a bug in the ebuild or somewhere else.
BTW, I'm planning to write a qt5-utils.eclass, which will provide an
eqmake5 function similar to eqmake4 in qt4-r2.eclass.
Cheers,
Pesa
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] Re: Fwd: Heads up for Qt5
2012-07-28 6:27 ` Ben de Groot
2012-07-28 6:46 ` Davide Pesavento
@ 2012-07-28 7:43 ` Ralph Sennhauser
2012-07-28 7:54 ` Ben de Groot
1 sibling, 1 reply; 11+ messages in thread
From: Ralph Sennhauser @ 2012-07-28 7:43 UTC (permalink / raw
To: gentoo-dev
On Sat, 28 Jul 2012 14:27:49 +0800
Ben de Groot <yngwin@gentoo.org> wrote:
> On 28 July 2012 13:59, Nikos Chantziaras <realnc@gmail.com> wrote:
> > On 28/07/12 08:22, Ben de Groot wrote:
> >>
> >> In preparation for that, we want to ask maintainers of all ebuilds
> >> in the tree with dependencies on Qt4, to make sure that they have
> >> the proper slot. Otherwise your package may pull in Qt5 while it
> >> may not in fact support it.
> >
> >
> > This can be trouble if the application actually works with Qt5. It
> > might depend on Qt4 but has no problems with Qt5 (contrary to Qt3
> > vs Qt4, Qt5 is mostly compatible with much of existing Qt4 code),
> > needlessly pulling-in Qt4. Many applications simply build and run
> > as-is and no code changes are necessary.
> >
> > So what would be the methodology of making sure a package has the
> > proper slot?
>
> Obviously you would need to make sure that the package actually does
> support Qt5. Then, as I see it, we could do either:
>
> || ( x11-libs/qt-gui:4 x11-libs/qt-gui:5 )
Never prefer an old version in an || ( ) block, this makes for a poor
update experience. Also the || ( ) construct can only be used if they
are runtime switchable, which I really doubt here, as otherwise you
build against one, the user install the other and portage depcleans the
one you have built against.
>
> or:
>
> qt4? ( x11-libs/qt-gui:4 )
> qt5? ( x11-libs/qt-gui:5 )
>
A qt5 useflag will do more harm than good. If I enable qt, I do not
care which version, I just want the gui for the particular app. If the
app works with qt:5 the usflag qt means qt:5, if it only works with
qt:4 the useflags means qt:4. In case it works with both and the
maintainer thinks it's worth to let the user choose, use the useflag qt4
to let the user opt out of the latest and greatest.
> Other thoughts?
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] Re: Fwd: Heads up for Qt5
2012-07-28 7:43 ` Ralph Sennhauser
@ 2012-07-28 7:54 ` Ben de Groot
2012-07-28 9:27 ` Ralph Sennhauser
0 siblings, 1 reply; 11+ messages in thread
From: Ben de Groot @ 2012-07-28 7:54 UTC (permalink / raw
To: gentoo-dev
On 28 July 2012 15:43, Ralph Sennhauser <sera@gentoo.org> wrote:
> On Sat, 28 Jul 2012 14:27:49 +0800
> Ben de Groot <yngwin@gentoo.org> wrote:
>
>> On 28 July 2012 13:59, Nikos Chantziaras <realnc@gmail.com> wrote:
>> > On 28/07/12 08:22, Ben de Groot wrote:
>> >>
>> >> In preparation for that, we want to ask maintainers of all ebuilds
>> >> in the tree with dependencies on Qt4, to make sure that they have
>> >> the proper slot. Otherwise your package may pull in Qt5 while it
>> >> may not in fact support it.
>> >
>> >
>> > This can be trouble if the application actually works with Qt5. It
>> > might depend on Qt4 but has no problems with Qt5 (contrary to Qt3
>> > vs Qt4, Qt5 is mostly compatible with much of existing Qt4 code),
>> > needlessly pulling-in Qt4. Many applications simply build and run
>> > as-is and no code changes are necessary.
>> >
>> > So what would be the methodology of making sure a package has the
>> > proper slot?
>>
>> Obviously you would need to make sure that the package actually does
>> support Qt5. Then, as I see it, we could do either:
>>
>> || ( x11-libs/qt-gui:4 x11-libs/qt-gui:5 )
>
> Never prefer an old version in an || ( ) block, this makes for a poor
> update experience. Also the || ( ) construct can only be used if they
> are runtime switchable, which I really doubt here, as otherwise you
> build against one, the user install the other and portage depcleans the
> one you have built against.
Yes, that was a brainfart. Davide already said it was wrong.
>>
>> or:
>>
>> qt4? ( x11-libs/qt-gui:4 )
>> qt5? ( x11-libs/qt-gui:5 )
>>
>
> A qt5 useflag will do more harm than good. If I enable qt, I do not
> care which version, I just want the gui for the particular app. If the
> app works with qt:5 the usflag qt means qt:5, if it only works with
> qt:4 the useflags means qt:4. In case it works with both and the
> maintainer thinks it's worth to let the user choose, use the useflag qt4
> to let the user opt out of the latest and greatest.
We do not have (nor want to support) a qt useflag. We have opted
for "qt4" and "qt5" useflags as the most straightforward and least
confusing.
It is up to package maintainers if they want to offer to build both
versions where applicable, or prefer one over the other if both
useflags are set.
--
Cheers,
Ben | yngwin
Gentoo developer
Gentoo Qt project lead, Gentoo Wiki admin
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] Re: Fwd: Heads up for Qt5
2012-07-28 7:54 ` Ben de Groot
@ 2012-07-28 9:27 ` Ralph Sennhauser
2012-07-28 10:07 ` Nikos Chantziaras
0 siblings, 1 reply; 11+ messages in thread
From: Ralph Sennhauser @ 2012-07-28 9:27 UTC (permalink / raw
To: gentoo-dev
On Sat, 28 Jul 2012 15:54:07 +0800
Ben de Groot <yngwin@gentoo.org> wrote:
> We do not have (nor want to support) a qt useflag. We have opted
> for "qt4" and "qt5" useflags as the most straightforward and least
> confusing.
Indeed, the flag qt has almost disappeared from the tree. Good to know.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [gentoo-dev] Re: Fwd: Heads up for Qt5
2012-07-28 9:27 ` Ralph Sennhauser
@ 2012-07-28 10:07 ` Nikos Chantziaras
2012-07-28 13:57 ` Duncan
0 siblings, 1 reply; 11+ messages in thread
From: Nikos Chantziaras @ 2012-07-28 10:07 UTC (permalink / raw
To: gentoo-dev
On 28/07/12 12:27, Ralph Sennhauser wrote:
> On Sat, 28 Jul 2012 15:54:07 +0800
> Ben de Groot <yngwin@gentoo.org> wrote:
>
>> We do not have (nor want to support) a qt useflag. We have opted
>> for "qt4" and "qt5" useflags as the most straightforward and least
>> confusing.
>
> Indeed, the flag qt has almost disappeared from the tree. Good to know.
Why the different policies between the gtk and qt USE flags? This just
looks inconsistent.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [gentoo-dev] Re: Fwd: Heads up for Qt5
2012-07-28 10:07 ` Nikos Chantziaras
@ 2012-07-28 13:57 ` Duncan
0 siblings, 0 replies; 11+ messages in thread
From: Duncan @ 2012-07-28 13:57 UTC (permalink / raw
To: gentoo-dev
Nikos Chantziaras posted on Sat, 28 Jul 2012 13:07:08 +0300 as excerpted:
> On 28/07/12 12:27, Ralph Sennhauser wrote:
>> On Sat, 28 Jul 2012 15:54:07 +0800 Ben de Groot <yngwin@gentoo.org>
>> wrote:
>>
>>> We do not have (nor want to support) a qt useflag. We have opted for
>>> "qt4" and "qt5" useflags as the most straightforward and least
>>> confusing.
>>
>> Indeed, the flag qt has almost disappeared from the tree. Good to know.
>
> Why the different policies between the gtk and qt USE flags? This just
> looks inconsistent.
Different gentoo projects. Different people involved with their own
preferences. But I believe it's mostly an accident of history.
The gtk/gtk2 evolution went rather poorly as IIRC there really wasn't an
original defined policy, so the gtk USE flags were ambiguous. At first
USE=gtk2 was discouraged for a lot of packages, since for them it meant
favoring the still (at the time) less stable gtk2 over gtk1. USE=gtk
meanwhile, sometimes meant favor gtk1, while at other times it meant let
the package maintainer pick the best one to support. Of course that
caused problems later on, after gtk2 matured and gtk1 was being phased
out, so a general policy was adopted, that AFAIK remains today: USE=gtk
meant support gtk in any form, with USE=gtk1/gtk2 (and now gtk3, with
gtk1 phased out) meant prefer that specific version instead of letting
the package maintainer choose a default.
But the key point there is that said policy was kind of fallen into by
accident, and once in place, it was simply more convenient to maintain
it, then to change it yet again.
When the qt3/qt4 case came along, they had the lessons of the gtk case to
examine and decided to avoid the problem by switching to specific-
versioned qtX flags I believe before/as qt4 hit the tree. Of course the
fact that the existing in-tree support was already qt3 helped, since that
was already more intuitive than gtk1. From quite early on, then, simple
qt was never allowed the ambiguity of gtk -- it always meant qt3 but was
quickly deprecated in favor of the qt3 flag.
Of course also helping things was the fact that the qt3 ecosystem was
much more monolithic and kde3 much more dominant within it than was the
case with either gtk1/gnome1 or the now somewhat broader-ecosystem qt4/
kde4. So getting buy-in for the quick deprecation of qt in favor of qt3
was much closer to simply getting by-in from the gentoo/kde folks (with a
large overlap between them and the gentoo/qt folks), as opposed to the
wider cooperation needed in the gtk case.
So to a large extent the fact that gtk means any gtk while the versioned
ones mean prefer that version, while there's ONLY the versioned qtX
flags, is an accident of history. And since then, the respective gtk/qt
policies have remained in place due to inertia -- yes there's an
inconsistency between them, but users of each quickly get comfortable
with it, and the cost-benefit ratio of trying to change either one now,
simply hasn't been considered worth it. Thus as new versions appear,
gtk3 and now qt5, they simply follow type.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2012-07-28 13:59 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CAB9SyzSY0beKPpYE3fW93RP7TbBCoDvMOGDj8oa=pN_rEEkPmA@mail.gmail.com>
2012-07-28 5:22 ` [gentoo-dev] Fwd: Heads up for Qt5 Ben de Groot
2012-07-28 5:59 ` [gentoo-dev] " Nikos Chantziaras
2012-07-28 6:27 ` Ben de Groot
2012-07-28 6:46 ` Davide Pesavento
2012-07-28 6:56 ` Nikos Chantziaras
2012-07-28 7:09 ` Davide Pesavento
2012-07-28 7:43 ` Ralph Sennhauser
2012-07-28 7:54 ` Ben de Groot
2012-07-28 9:27 ` Ralph Sennhauser
2012-07-28 10:07 ` Nikos Chantziaras
2012-07-28 13:57 ` Duncan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox