1 |
On 28 July 2012 15:43, Ralph Sennhauser <sera@g.o> wrote: |
2 |
> On Sat, 28 Jul 2012 14:27:49 +0800 |
3 |
> Ben de Groot <yngwin@g.o> wrote: |
4 |
> |
5 |
>> On 28 July 2012 13:59, Nikos Chantziaras <realnc@×××××.com> wrote: |
6 |
>> > On 28/07/12 08:22, Ben de Groot wrote: |
7 |
>> >> |
8 |
>> >> In preparation for that, we want to ask maintainers of all ebuilds |
9 |
>> >> in the tree with dependencies on Qt4, to make sure that they have |
10 |
>> >> the proper slot. Otherwise your package may pull in Qt5 while it |
11 |
>> >> may not in fact support it. |
12 |
>> > |
13 |
>> > |
14 |
>> > This can be trouble if the application actually works with Qt5. It |
15 |
>> > might depend on Qt4 but has no problems with Qt5 (contrary to Qt3 |
16 |
>> > vs Qt4, Qt5 is mostly compatible with much of existing Qt4 code), |
17 |
>> > needlessly pulling-in Qt4. Many applications simply build and run |
18 |
>> > as-is and no code changes are necessary. |
19 |
>> > |
20 |
>> > So what would be the methodology of making sure a package has the |
21 |
>> > proper slot? |
22 |
>> |
23 |
>> Obviously you would need to make sure that the package actually does |
24 |
>> support Qt5. Then, as I see it, we could do either: |
25 |
>> |
26 |
>> || ( x11-libs/qt-gui:4 x11-libs/qt-gui:5 ) |
27 |
> |
28 |
> Never prefer an old version in an || ( ) block, this makes for a poor |
29 |
> update experience. Also the || ( ) construct can only be used if they |
30 |
> are runtime switchable, which I really doubt here, as otherwise you |
31 |
> build against one, the user install the other and portage depcleans the |
32 |
> one you have built against. |
33 |
|
34 |
Yes, that was a brainfart. Davide already said it was wrong. |
35 |
|
36 |
>> |
37 |
>> or: |
38 |
>> |
39 |
>> qt4? ( x11-libs/qt-gui:4 ) |
40 |
>> qt5? ( x11-libs/qt-gui:5 ) |
41 |
>> |
42 |
> |
43 |
> A qt5 useflag will do more harm than good. If I enable qt, I do not |
44 |
> care which version, I just want the gui for the particular app. If the |
45 |
> app works with qt:5 the usflag qt means qt:5, if it only works with |
46 |
> qt:4 the useflags means qt:4. In case it works with both and the |
47 |
> maintainer thinks it's worth to let the user choose, use the useflag qt4 |
48 |
> to let the user opt out of the latest and greatest. |
49 |
|
50 |
We do not have (nor want to support) a qt useflag. We have opted |
51 |
for "qt4" and "qt5" useflags as the most straightforward and least |
52 |
confusing. |
53 |
|
54 |
It is up to package maintainers if they want to offer to build both |
55 |
versions where applicable, or prefer one over the other if both |
56 |
useflags are set. |
57 |
|
58 |
-- |
59 |
Cheers, |
60 |
|
61 |
Ben | yngwin |
62 |
Gentoo developer |
63 |
Gentoo Qt project lead, Gentoo Wiki admin |