Hi! El lun, 16 de ene. de 2023 21:59, Rodney Dawes <dobey.p...@gmail.com> escribió:
> On Mon, 2023-01-16 at 21:35 -0300, Lisandro Damián Nicanor Pérez Meyer > wrote: > > Hi > > > > Private packages have only been created when required for other Qt > > submodules or key plasma packages, no more. > > They are required for key plasma packages here, as well. It is > necessary to use these private headers to be able to write plugins to > Qt itself, such as for providing support for additional wayland > protocols in Qt, and to provide input method support on Wayland using > Qt API. I found this issue as I was getting build errors on doing some > work to port the wayland code in maliit-framework to Qt6. You will probably need to build qt yourself to do that in the meantime. > > > That's because kwin required those headers. As soon as kwin switches > > to Qt6 we will know if we need to make them available. > > If kwin is also using them, then you can be assured they will still be > needed, as very little has changed in QtWayland in 6.x from 5.x. As I > have found, they are still needed for the on-screen keyboard support. > Then when time comes the packages will be added > And no, existing private headers are not free, it is a real pain > > because they normally just make transitions more complicated. > > > > Ideally people should work with Qt upstream in order to avoid > > requiring private headers. > > Most of these needs are long standing issues which I'm sure Qt upstream > is well aware of. Third party style plugins for example is a well known > case where one must use private API, and it is still the case. > Migrating things from private to public API is never a simple task, and > even if we could get it done, it would likely take years to get there. > I know, I have been complaining about that for over a decade now. With upstream :-) Maintaining Qt already takes a lot of time, adding private headers only makes things worse. So if you want to do porting and the headers are not yet there you will have to build Qt itself or fix the problem where it really belongs: upstream.