Hi
On Mon, 25 Jul 2022 16:29:28 -0300 =?UTF-
8?Q?Lisandro_Dami=C3=A1n_Nicanor_P=C3=A9rez_Meyer?=
<perezmeyer@gmail.com> wrote:
> Hi!
>
> I would really love to know why Telegram developers require so many
> private headers from Qt. They shouldn't be using them at all, and if
> they really require some private part they need to work with upstream
> to make it public API.
This isn't only an issue for Telegram. Many projects require private
headers for various reasons, because developing plugins to Qt itself is
necessary to improve the system. The Qt packages have a long history of
including `-private-dev` packages for the various components which
provide private API that may be necessary to use in certain situations.
Private packages have only been created when required for other Qt submodules or key plasma packages, no more.
There is no reason for that to stop happening with Qt 6.x.
Qt6 is following the same rule. Believe me, I have been involved in Qt packaging since Qt4 :-)
Especially
given the upstream source is installing them during the build. The
qtwayland5-private-dev package is available in Debian, and so should a
qt6-wayland-private-dev package be made available containing the
includes, cmake files, libraries, etc… necessary to use the QtWayland
private API with Qt6.
That's because kwin required those headers. As soon as kwin switches to Qt6 we will know if we need to make them available.
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.